コード --> http://pastebin.com/W3DMYjXa
私は SpriteKit をいじっていますが、エミッター ノードを宇宙船で思い通りに回転させることができないようです。
私は Apple Tech Talks Session を見ました。彼らは宇宙船を作り、推力排気にエミッターを使用することを説明していましたが、彼らは船を一方向にしか向かないようにロックしていました。
私の実験では、プレーヤー スプライト (宇宙船) が任意の方向に移動できるようにしようとしています。プレーヤーの回転とスクロールが機能していますが、パーティクル エミッターはプレーヤーと一緒に回転していないようです。
私の階層は次のようになります
シーン
-->ワールドノード
-->プレイヤーノード
---->プレイヤースプライト
---->エミッタノード
私の理論では、(Player Node) を回転させると、その両方の子が回転するはずであり、それらは回転しますが、エミッターは同じ方向に放出し続けます。
放射角度を手動で変更できますが、必要以上に複雑に思えます。
これが私が回転するために使用しているものです
-(void)rotatePlayerToDirection:(TTDirection)direction {
CGFloat radDir;
CGFloat emiDir;
scrollDirection = direction;
switch (direction) {
case TTUp:
radDir = 0;
emiDir = 3.142;
break;
case TTRight:
radDir = 4.712;
emiDir = 1.571;
break;
case TTDown:
radDir = 3.142;
emiDir = 0;
break;
case TTLeft:
radDir = 1.571;
emiDir = 4.712;
break;
default:
break;
}
SKAction *rotatePlayer = [SKAction rotateToAngle:radDir duration:0.1 shortestUnitArc:YES];
[playerNode runAction:rotatePlayer];
}
ここで何か不足していますか?
これが実際に動作しているビデオです