我正在用cocos2d开发一款iPhone2d游戏,其中设置有很多小精灵。我想通过触摸两个类似的精灵的方式,将它们两个都隐藏起来,我如何能够实现这种效果呢?
原问题:How can I detect touch in cocos2d?
走同样的路,发现不同的人生
정답: 요나스 (우수 답변) 스프라이트가 포함된 레이어에서 다음을 입력해야 합니다:
그런 다음 UIView에서 동일한 이벤트를 사용할 수 있지만 호출되는 방법은 다릅니다.
정답: 테렌스 이 효과를 얻으려면 스프라이트에 대한 경계 상자를 설정하면 됩니다. 다음 코드에서는 모든 스프라이트를 NSMutableArray에 배치하고 경계 상자 내에 있는지 확인하는 동시에 터치가 초기화되었는지 확인합니다. . 작전:
정답: 데이비드 히긴스 Jonas의 답변을 바탕으로 더욱 개선했습니다.
스프라이트의 '중앙 위치'를 보장하기 위해 x/y 위치를 조정해야 할 수도 있습니다.
정답: 존 David의 코드는 Cocos 0.7.3 및 2.2.1에서 오류 메시지를 발생시키므로 CGMakeRect 대신 CGRectMake를 사용하고 [touch locationInView:touch.view]를 사용하여 [터치 위치] 오류를 수정했습니다.
정답: 요나스
으아아아(우수 답변)
스프라이트가 포함된 레이어에서 다음을 입력해야 합니다:
그런 다음 UIView에서 동일한 이벤트를 사용할 수 있지만 호출되는 방법은 다릅니다.
으아아아정답: 테렌스
으아아아이 효과를 얻으려면 스프라이트에 대한 경계 상자를 설정하면 됩니다. 다음 코드에서는 모든 스프라이트를 NSMutableArray에 배치하고 경계 상자 내에 있는지 확인하는 동시에 터치가 초기화되었는지 확인합니다. . 작전:
정답: 데이비드 히긴스
으아아아Jonas의 답변을 바탕으로 더욱 개선했습니다.
스프라이트의 '중앙 위치'를 보장하기 위해 x/y 위치를 조정해야 할 수도 있습니다.
정답: 존
으아아아David의 코드는 Cocos 0.7.3 및 2.2.1에서 오류 메시지를 발생시키므로 CGMakeRect 대신 CGRectMake를 사용하고 [touch locationInView:touch.view]를 사용하여 [터치 위치] 오류를 수정했습니다.