I 설정하는 새로운 PhysicsBody 다음 코드가 : 사용자가 화면을 터치 할 때, 나는 그들이이 내부에 접촉 여부를 확인하기 위해 노력하고있어스위프트
let size = CGSize(width: 100, height: 10)
let player = SKShapeNode(rectOf: size)
player.lineWidth = 1
player.physicsBody = SKPhysicsBody(rectangleOf: size)
player.physicsBody?.affectedByGravity = false
player.physicsBody?.isDynamic = true
을 왼쪽, 또는 오른쪽으로 객체 :
디버그 문, 나의 번의 실험이 말해 무엇func touchDown(atPoint pos : CGPoint) {
if (pos.x <= (player?.position.x)!) {
// left
} else if (pos.x >= (player?.position.x)! + (player?.frame.width)!) {
// right
} else {
print(player?.position.x)
print ((player?.position.x)! + (player?.frame.width)!)
print(pos.x)
// middle
}
}
이며, 그 선수 오브젝트에 대한 올바른 폭을 반환하지 않습니다 .frame.width?. 하지만, 그 이상으로, 나는 물체가 떨어져도 센터를 돌려주는 것처럼 보입니다. 객체가 움직이고 있으므로 이전 위치로 돌아 간다는 것이 문제라고 생각합니다.
두 가지 질문이 있습니다. 즉, frame.width는 너비를 결정하는 올바른 방법이며, touchesBegan 이벤트를 사용할 때 명백한 지체 정보를 유발할 수있는 것이 있습니까?
감사합니다. –