자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
 
		
	
	
		
			Firemonkey			TImage3D를 마우스로 드레그하여 이동하고 싶은데요.
		
		
			2012.07.20 20:56		
		
	
	
	
		
	
	
				TForm
    |-TViewport3D1
                 |-TLayout3D
                                |-TImage3D
위와 같은 구조인데요.
 
TImage3D를 마우스로 드레그하여 위치를 이동하고 싶습니다. 
Uses FMX.Platform;
...
... 
VAR
  MousePosition1,  MousePosition2: TPointF;
...
...
Procedure MouseDown(.......);
Begin
  // Image3D1을 마우스로 클릭했을때 마우스위치
  MousePosition1:= Platform.GetMousePos;
.....
.....
End;
 
Procedure MouseMove(.........)
VAR
  ImagePositionX1, ImagePositionY1 : Single; 
  ImagePositionX2, ImagePositionY2 : Single;
Begin
 
// 드레그하여 이동한 새로운 마우스 위치  
MousePosition2:= Platform.GetMousePos;
 
// 현제 이미지의 위치 
  ImagePositionX1 := Image3D1.Position.X; 
  ImagePositionY1 := Image3D1.Position.Y;
  ......
//  Image3D1의 새로운 좌요인 ImagePositionX2와 ImagePositionY2를 계산.
  ImagePositionX2 := .....
  ImagePositionY2 := 
  .....
// 이미지 위치이동
  Image3D1.Position.X := ImagePositionX2; 
  Image3D1.Position.Y := ImagePositionY2;
End
 
대충 이런식으로 코딩해야 할 것 같은데
문제는 TPointF형에 담겨있는 마우스 포지션과 T3Image3D의 좌표계가 달라
마우스를 이동했을때 이미지의 새로운 위치를 어떻게 계산해야 하는가 입니다.
 
도움을 주시면 감사하겠습니다.
			
	
	
	
	
	
		댓글 0
	
	    	
	
	
Firemonkey TImage3D를 마우스로 드레그하여 이동하고 싶은데요.
2012.07.20 20:56
TForm
|-TViewport3D1
|-TLayout3D
|-TImage3D
위와 같은 구조인데요.
TImage3D를 마우스로 드레그하여 위치를 이동하고 싶습니다.
Uses FMX.Platform;
...
...
VAR
  MousePosition1,  MousePosition2: TPointF;
...
...
Procedure MouseDown(.......);
Begin
// Image3D1을 마우스로 클릭했을때 마우스위치
MousePosition1:= Platform.GetMousePos;
.....
.....
End;
Procedure MouseMove(.........)
VAR
ImagePositionX1, ImagePositionY1 : Single;
ImagePositionX2, ImagePositionY2 : Single;
Begin
// 드레그하여 이동한 새로운 마우스 위치
MousePosition2:= Platform.GetMousePos;
// 현제 이미지의 위치
ImagePositionX1 := Image3D1.Position.X;
ImagePositionY1 := Image3D1.Position.Y;
......
// Image3D1의 새로운 좌요인 ImagePositionX2와 ImagePositionY2를 계산.
ImagePositionX2 := .....
ImagePositionY2 :=
.....
// 이미지 위치이동
Image3D1.Position.X := ImagePositionX2;
Image3D1.Position.Y := ImagePositionY2;
End
대충 이런식으로 코딩해야 할 것 같은데
문제는 TPointF형에 담겨있는 마우스 포지션과 T3Image3D의 좌표계가 달라
마우스를 이동했을때 이미지의 새로운 위치를 어떻게 계산해야 하는가 입니다.
도움을 주시면 감사하겠습니다.
                                            