2014-12-10 4 views
1

나는 func를 사용하는 것이 여전히 불편합니다.신속한 접촉 - 객체 차별화 방법

나는 그것을 사용할 수 있으며 괜찮아 보이지만, 내 프로젝트를 계속 진행하려면 그것을 이해할 필요가있다.

어떤 사람이 어떤 물건을 만 졌는지 확인할 수 있도록 도와 주시겠습니까?

override func touchesMoved(touches: NSSet, withEvent event: UIEvent) { 
var touch : UITouch! = touches.anyObject() as UITouch 

: 정말 그래서 여기 내가 사용하는 전형적인 코드입니다 ... 그래서 난 감동 된 객체의 유형에 따라 스위치 문, 즉 할 수있는 미래에 무슨 일이 일어나고 있는지 이해

을 원하는 아마

switch touch { 
case SKSpriteNode 
    .... 
case SKLabelNode 
    .... 
case SKNode 
    ... 

and so on... 

정확하지,하지만 난 접촉의 FUNC에 전달 된 정보를 잡을 수있게하는 방법에 따라 원하는 이유를 설명 : 여기에 내가 할 수 있기를 원하는거야. 올바른 방향으로 날 가리하십시오 - D

답변

0

UITouch 문서에서이에 대한 섹션 사실이있다 :

Working with touch events in SpriteKit가.

locationInNode으로 위치를 얻은 다음 nodeAtPoint으로 해당 위치의 위치를 ​​파악할 수 있습니다.

+0

이제 'println ("\ (nodeAtPoint (location))")'을 수행하여 고맙습니다. 노드가 무엇인지 확인할 수 있습니다. 아주 좋아! 그러나 노드 유형에 의존하는 명령문을 작성하려면 어떻게해야합니까? 이것은 작동하지 않습니다 :'nodeAtPoint (location) == SKLabelNode' ("SKlabelNode") .. – Kjetil

+0

Swift 키워드'is'를 사용하여 클래스를 확인하십시오. 그것이 당신을 도운다면 대답을 upvote 받아 받아 들일 것을 잊지 마십시오. – Mundi

+0

그게 효과가! upvote (나는 15 명 미만의 담당자가있다.), 미안하다. – Kjetil