여러 자식이있는 노드에 대해 SpriteKit 애니메이션을 만들고 그룹의 여러 부분에서 동작을 애니메이션으로 만들 수있는 방법은 무엇입니까?iOS7 SpriteKit 두 개 이상의 스프라이트 노드 하위의 애니메이션을 그룹화하는 방법은 무엇입니까?
I 다음 노드 구조가 있습니다
- 조류 몸, 꼬리, 머리 아이 노드가를 등
- 머리 위 부리, 낮은 부리 등의 자식 노드가
아래 예제에서는 모든 자식이 아래로 구부러져 종자를 집어 올리며 전체 새를 움직이기를 원합니다. 아래로 구부리는 동안, 새는 그 부리를 열어 씨앗을 먹습니다. 부리는 새의 자식이 아니라 머리 노드의 자식입니다. 여기
//body does this action
SKAction* bendDown = [SKAction rotateToAngle:M_PI*0.3 duration:lookUpTiming];
//beak does this action
SKAction* openBeak = [SKAction rotateToAngle:-M_PI*0.175 duration:beakDuration + arc4random()%20/100.0];
//I need both actions to be played together as a group:
SKAction* bendAndOpenBeak = [SKAction group:@[bendDown, openBeak]];
//if I call this, the body will perform both actions.
[self runAction:bendAndOpenBeak completion:^{
}];
내가 헤드 노드에서 실행할 수있는 코드는 내가 몸 (부모의 부모) 노드
와 그룹으로이 작업을 실행해야합니다, 그것은 아이들이 그러나
runAction:onChildWithName:
를 사용하여 작업을 수행이다 가지고 있어요
-(SKAction*)openBeak
{
float angleUp = -M_PI*0.175;
float duration = beakDuration + arc4random()%20/100.0;
SKAction* rotateUp = [SKAction rotateToAngle:angleUp duration:duration];
rotateUp.timingMode = SKActionTimingEaseOut;
SKAction* rotateDown = [SKAction rotateToAngle:-angleUp duration: duration];
rotateUp.timingMode = SKActionTimingEaseOut;
return [SKAction group:@[[SKAction runAction:rotateUp onChildWithName:@"beakUpper"],
[SKAction runAction:rotateDown onChildWithName:@"beakLower"] ]];
}
무엇이 자기입니까? d –
실제 답변을 얻으려면 더 표시해야합니다 –
자기가 새의 몸입니다 –