저는 스프라이트의 중심을 알아 내려고 노력하고 있습니다. 축구 볼 스프라이트를 사용했는데 크기가 120x120으로 변경되었습니다. 터치 위치를 얻을 수있었습니다.Swift 2에서 SKSpriteNode의 실제 중심점을 얻으려면 어떻게해야합니까?
중심을 얻는 방법은 sprite.origin.x + (sprite.width/2)가되어야하지만, 어떤 이유로 든 내가 얻는 값은 의미가 없습니다. 왜냐하면 내가 볼을 건드 릴지라도 touch 위치 x는 Sprite 중심보다 항상 작습니다. 예를 들어 공의 오른쪽면을 터치했기 때문에 location.x가 sprite.center보다> 있어야합니다. 엑스.
이 볼의 중심점을
let ballCenter = CGVectorMake(ball.position.x + (ball.frame.width/2),
ball.position.y + (ball.frame.height/2))
를 얻을 수있는 작은 코드는하지만이 같은 결과를 인쇄 할 때, 항상 "true"로 케이스 것입니다.
if location.x < ballCenter.dx {
print("touched on left of ball ", location.x, location.y)
}else{
print("touched on right of ball ", location.x, location.y)
}
이것은 나를 미치게합니다. 아무도 나를 이해할 수 있습니까? 스프라이트 원점은 왼쪽 하단에 있지 않습니까?
왜 장면 프레임이 너무 작습니까? 화면 크기가 375.0이고 화면 높이가 667.0인데 iPhone 6S를 사용할 때 더 커야하지 않습니까? 이것은 너무 혼란 스럽다.
미리 감사드립니다.
네가 맞아! 고마워요! – msqar
당신을 진심으로 환영합니다! – claassenApps
이것을 달성 할 수 있는지 알 수 있습니까? http://stackoverflow.com/questions/37998343/impulse-skspritenode-depending-on-touched-location-swift-2 그것은 나를 미치게합니다. 하하는 이미 너무 많은 것들을 시도했고, 나는 여전히 좋은 길을 찾아 낼 수 없었습니다. 하고있어. – msqar