0
터치를 사용하여 이동하려는 평면이있는 게임을 만들기 위해 SpriteKit을 사용하고 있습니다. 아이디어는 사용자가 터치 한 위치로 비행기를 재배치하는 것입니다.SKAction moveTo : 지속 시간 : 터치의 CGPoint 값에 올바르게 응답하지 않습니다.
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
CGPoint moveToLocation = point;
SKAction *planeMove = [SKAction moveTo:moveToLocation duration:0.5];
[_plane runAction:planeMove]; // _plane represents the plane sprite.
NSLog(@"Touch Point: %@ ",NSStringFromCGPoint(point));
NSLog(@"Plane Location: %@", NSStringFromCGPoint(_plane.position));
위의 코드는 터치 포인트 및 평면 위치에 대해 서로 다른 값을 사용하면 바람직하지 않은 결과가 발생합니다. 따라서, 접촉 후의 평면은 원하는 위치로부터 멀리 떨어져있다. 예를 들어, 값이 나는 NSLog 얻을 :
Touch Point: {391, 743}
Location: {393, 672}