물건을 휴지통에 가져다놓았을 때 사라지게 하는 방법을 어떻게 구현하나요? #10
-
local function dragElement( event )
if( event.phase == "began" ) then
display.getCurrentStage():setFocus( event.target )
event.target.isFocus = true
elseif( event.phase == "moved" ) then
if( event.target.isFocus ) then
event.target.x = event.xStart + event.xDelta
event.target.y = event.yStart + event.yDelta
end
elseif ( event.phase == "ended" or event.phase == "cancelled") then
if ( event.target.isFocus ) then
display.getCurrentStage():setFocus( nil )
event.target.isFocus = false
-- 드래그 끝났을 때
if ( event.target.x > trash.x - 50 and event.target.x < trash.x + 50
and event.target.y > trash.y - 50 and event.target.y < trash.y + 50) then
composer.showOverlay("trash")
display.remove(event.target)
end
else
display.getCurrentStage():setFocus( nil )
event.target.isFocus = false
end
end
end game.lua에 이렇게 적었고요 excited:addEventListener("touch", dragElement)
sad:addEventListener("touch", dragElement)
happy:addEventListener("touch", dragElement) topping.lua에 이렇게 적었는데 오류가 납니다. 어떻게 고쳐야할 지 모르겠습니다. 또 물건을 휴지통에 가져다놓았을 때 뚜껑이 열린 이미지로 바뀌었다가 물건을 버린 후에 다시 닫힌 이미지로 바뀌게 하는 방법을 어떻게 구현해야할 지 모르겠습니다.. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
이벤트 함수는 -> (해결 방법) 이벤트 함수를 아니라면, 에러 메세지를 캡처나 복사해서 남겨주세요. 물건을 휴지통에 버리는 기능은 물건을 드래그하고 있는 상태에서 휴지통에 가져다 댔을 때 (뚜껑 열림), 드래그를 마쳤을 때(뚜껑 닫음)으로 구현하시려는 거라면 이벤트 함수 두 개를 만들어서 다음과 같이 구현해보세요.
다른 걸 의미했다면 어떤 걸 구현하고 싶으신지 따로 남겨주세요. |
Beta Was this translation helpful? Give feedback.
-
function openTrash( event )
if( event.phase == "moved" ) then
if (event.target.isFocus) then
composer.hideOverlay("images/휴지통 버튼.png")
composer.showOverlay("openTrash")
end
elseif ( event.phase == "ended" or event.phase == "cancelled") then
if (event.target.isFocus) then
composer.showOverlay("images/휴지통 버튼.png")
composer.hideOverlay("openTrash")
end
end
end 두번째 쓰레기 터치 이벤트에서 이렇게 작성을 했는데 실행이 안되서요 혹시 어디가 잘못되었는지 봐주실 수 있으신가요? |
Beta Was this translation helpful? Give feedback.
이벤트 함수는
game.lua
에 적고, addEventListener는topping.lua
에 적으신 거 맞으실 까요?지금 코드만 보면
topping.lua
에 적은 addEventListener에서 이벤트 함수 dragElement에 접근하지 못하기 때문에 오류가 나는 걸로 보여요.-> (해결 방법) 이벤트 함수를
topping.lua
로 옮기기 또는 이벤트 함수 전역 함수로 만들기 (함수 선언부에 local)을 지움전자를 추천합니다.
아니라면, 에러 메세지를 캡처나 복사해서 남겨주세요.
물건을 휴지통에 버리는 기능은 물건을 드래그하고 있는 상태에서 휴지통에 가져다 댔을 때 (뚜껑 열림), 드래그를 마쳤을 때(뚜껑 닫음)으로 구현하시려는 거라면 이벤트 함수 두 개를 만들어서 다음과 같이 구현해보세요.
물건 touch 이벤트 리스너
휴지통 touch 이벤트 리스너
다른 걸 의미했다면 어떤 걸 구현하고 싶으신지 따로 남겨주세요.