반응형
Posted on . Written by Brent Sorrentino
And Finally…
지금까지의 코드는 single display object 에 대한 내용이었습니다. 실제로는 여러 object 에 이것이 적용 될 수도 있을 겁니다. object 들의 그룹에 pinch-zoome 이 일어날 수도 있겠죠. 더 중요한 것은 이 기능을 re-use 할 수 있도록 하려면 어떻게 해야 할까요?
:touch() 함수를 re-use 하려면 이 기능이 어떤 display object(이미지이든 그룹이든)에도 쉽게 적용 될 수 있도록 해야겠죠. 사용하고 있는 reference 들을 간단하게 change 할 수도 있어야 되겠구요. 이 기느응ㄹ 구현하기 위해 여러 object 들을 포함한 display group 을 하나 만듭시다. 그리고 touch listener 를 붙이고 그 그룹에 function 도 적용해 보죠.
sample11.lua
local group = display.newGroup() -- create display group to listen for new touches-- populate display group with objectslocal rect1 = display.newRect( group, 200, 200, 200, 100 )rect1:setFillColor( 0, 0, 255 )local rect2 = display.newRect( group, 300, 300, 200, 100 )rect2:setFillColor( 0, 255 ,0 )local rect3 = display.newRect( group, 100, 400, 200, 100 )rect3:setFillColor( 255, 0, 0 )group.dots = {} -- keep a list of the tracking dots-- advanced multi-touch event listenerfunction touch(self, e)local target = e.target -- get the object which received the touch eventlocal rect = self -- get reference to self objectif (e.phase == "began") then -- handle began phase of the touch event life cycle...-- ...endgroup.touch = touch -- attach pinch zoom touch listenergroup:addEventListener("touch") -- listen for touches starting on the touch object
In Summary
이제 모두 완료 됐습니다. 이제 touch listener module 은 어떤 display object 나 그룹에도 적용될 수 있습니다. 즉 쉽게 multitouch pinch-zoom-rotation 을 구현할 수 있게 된거죠.
아직 전체 project 를 다운받지 못하신 분들은 여기에서 다운받아서 실행해 보세요.
질문이나 의견이 있으시면 언제든지 댓글에 달아 주세요.
반응형
'Corona SDK > Corona Doc' 카테고리의 다른 글
Physics 트릭들 배우기 - Sticky Projectiles- (0) | 2013.02.27 |
---|---|
Physics 트릭들 배우기 - Can I Jump?- (0) | 2013.02.26 |
iOS Build-in 트위터 기능 사용하기 (0) | 2013.02.20 |
iOS 에서 이메일 첨부파일 사용하기 (0) | 2013.02.19 |
멀티 터치 지원하는 모양 맞추기 앱 개발하기 (2) | 2013.02.15 |
Pinch Zoom Rotate 구현하기 - 10/11 - (0) | 2013.02.14 |
Pinch Zoom Rotate 구현하기 - 9/11 - (0) | 2013.02.14 |
Pinch Zoom Rotate 구현하기 - 8/11 - (0) | 2013.02.14 |
Pinch Zoom Rotate 구현하기 - 7/11 - (0) | 2013.02.12 |
Pinch Zoom Rotate 구현하기 - 6/11 - (0) | 2013.02.12 |