본문 바로가기
3Ds Max Script

롤아웃 이벤트 테스트

by 대마왕J 2023. 7. 14.

롤아웃 이벤트를 만듭니다. 역시 UI를 만들어야 재밌.. 

롤아웃 껍데기부터 만들게요 

rollout test "Hello World"
(

)
CreateDialog test width:200 height:200

껍데기를 만들었습니다. 

이제 빈 라벨을 카와이하게 넣어볼께요 

rollout test "Hello World"
(
	label xLabel "X :  " pos:[70,50]
	label yLabel "Y :  " pos:[70,80]
)
CreateDialog test width:200 height:200

 

이제 빈 라벨을 넣었으니, 마우스가 움직이면 좌표를 넣게 해볼께요 
on ~ do 로 실행되는 이벤트 핸들러를 이용하면 됩니다. 
https://help.autodesk.com/view/MAXDEV/2024/ENU/?guid=GUID-619AF4D3-A347-4155-943B-707D421BC460

rollout test "Hello World"
(
	label xLabel "X :  " pos:[70,50]
	label yLabel "Y :  " pos:[70,80]
	
	on test mousemove pos do
	(
		xLabel.text = "X :  " + pos.x as string
		yLabel.text = "Y :  " + pos.y as string
	)	
	
)
CreateDialog test width:200 height:200

 

이제 다른 이벤트들도 하나씩 넣어보죠. 
창을 오픈했을때 메시지가 나오게 해봅시다. 

rollout test "Hello World"
(
	label xLabel "X :  " pos:[70,50]
	label yLabel "Y :  " pos:[70,80]
	
	on test mousemove pos do
	(
		xLabel.text = "X :  " + pos.x as string
		yLabel.text = "Y :  " + pos.y as string
	)	
	
	on test open do 
	(
		print "open -"
	)
	
	on test close do 
	(
		print "close -"
	)
	
)
CreateDialog test width:200 height:200

그럼 창을 열 때 (시작할때) 와 닫을때 메시지가 리스너에 출력될겁니다. 

이번에는 클릭할때, 어떤 버튼이 어느 위치에서 클릭되었는지를 출력해 봅시다. 

rollout test "Hello World"
(
	label xLabel "X :  " pos:[70,50]
	label yLabel "Y :  " pos:[70,80]
	
	on test mousemove pos do
	(
		xLabel.text = "X :  " + pos.x as string
		yLabel.text = "Y :  " + pos.y as string
	)	
	
	on test open do 
	(
		print "open -"
	)
	
	on test close do 
	(
		print "close -"
	)
	
	
	on test lbuttondown pos do
	(
		p = "마우스 클릭"+ pos as string
		messageBox p
	)

	on test mbuttondown pos do
	(
		p = "마우스 중간 클릭"+ pos as string
		messageBox p
	)

	on test rbuttondown pos do
	(
		p = "마우스 오른 클릭"+ pos as string
		messageBox p
	)
)
CreateDialog test width:200 height:200

 

반응형

'3Ds Max Script' 카테고리의 다른 글

try catch로 롤아웃 하나만 열기  (0) 2023.07.18
롤아웃 이벤트 테스트2  (0) 2023.07.18
맥스 스크립트 한글 주석이 깨질때  (0) 2023.07.14
특정 문자 치환하기  (0) 2023.07.12
Break Point  (0) 2023.07.11

댓글