다른 개체 (훅)를 잡을 때 화면에서 움직이는 물체 (물고기)와 관련된 게임을하고 있습니다. 위아래로 움직인다. 물체가 접촉하면 물고기의 위치는 갈고리의 위치와 같아집니다. 그래서 접촉을 시작했습니다 (어떤 일을하는지, 확실합니다). 나는 갈고리와 물고기가 만져서 물고기 위치가 갈고리와 같아 졌다고 말했어.위치가 설정되면 노드 위치 변경 (SpriteKit)
func didBeginContact(contact: SKPhysicsContact) {
let firstBody = contact.bodyA
let secondBody = contact.bodyB
if firstBody.categoryBitMask == physicsCategory.fishHook && secondBody.categoryBitMask == physicsCategory.greenFish || firstBody.categoryBitMask == physicsCategory.greenFish && secondBody.categoryBitMask == physicsCategory.fishHook{
CollisionWithfishHook(firstBody.node as! SKSprit
eNode, greenFish: secondBody.node as! SKSpriteNode)
}
}
func CollisionWithfishHook (fishHook: SKSpriteNode, greenFish: SKSpriteNode){
greenFish.position = CGPointMake(fishHook.position.x, fishHook.position.y)
}
어떤 이유로 나는 그것을 실행할 때 아무런 반응이 없습니다. 나는 그 물고기가 훅에 닿았을 때 물고기를 제거하라고 말했기 때문에 접촉이 시작되었다는 것을 알았습니다. 문제는 녹색 생선의 위치를 바꿀 수 없다는 것입니다. 왜 이것이 문제이며 해결하기 위해 무엇을 할 수 있습니까?
당신은 greenfish가 항상 secondBody라고 가정하고있는 것처럼 보입니다. 항상 그런 것은 아닙니다. –