나는 원수가 화면 밖으로 나오고 중심쪽으로 움직입니다 (우주 정거장이있는 곳). 그러나 나는 중심 방향으로 향하는 우주선이 필요하다. 현재,이 코드를 사용하고 있습니다 :SpriteKit - 점을 향하여 스프라이트를 회전
- (void)rotateNode:(SKNode *)nodeA toFaceNode:(SKNode *)nodeB {
double angle = atan2(nodeB.position.y - nodeA.position.y, nodeB.position.x - nodeA.position.x);
if (nodeA.zRotation < 0) {
nodeA.zRotation = nodeA.zRotation + M_PI * 2;
}
[nodeA runAction:[SKAction rotateToAngle:angle duration:0]];
}
을하지만, 그것은 단지이 결과 제공 :
가 어떻게 스프라이트가 제대로 회전 가야를?
모든 제안 사항에 감사드립니다.
는 편집 : 나는 적 스프라이트의 init 메소드에서 위의 코드를 호출하고
는-(id)initWithLevel:(int)level andSize:(CGSize)size{
if(self = [super initWithImageNamed:@"alien01"]){
//position and init stuff
[self setPosition:self withSeed:seed andSize:size];
SKNode *center = [[SKNode alloc] init];
center.position = CGPointMake(self.size.width/2, self.size.height/2);
[self rotateNode:self toFaceNode:center];
}
return self;
}
이 메서드는 어디서 어떻게 호출합니까? – ZeMoon
적을 만들 때이 메서드를 호출합니다. 바로 전에 SKAction을 실행하여 중심쪽으로 이동합니다. – Lamikins
코드로 자세히 설명하십시오. 어떤 방법을 호출하는지 (예 : 업데이트 방법) 묻는 것을 의미 함 – ZeMoon