代码 --> http://pastebin.com/W3DMYjXa
我正在修补 SpriteKit,但我似乎无法让发射器节点按照我想要的方式与我的飞船一起旋转。
我观看了 Apple 技术讲座,他们描述了制造宇宙飞船并使用发射器进行推力排气,但他们将飞船锁定为仅面向一个方向。
在我的实验中,我试图让玩家精灵(宇宙飞船)向任何方向行进,我有旋转和滚动为玩家工作,但粒子发射器似乎没有随着玩家旋转。
我的层次结构看起来像这样
场景
-->世界节点
-->播放器节点
---->玩家精灵
---->发射器节点
我的理论是,如果我旋转(播放器节点),它应该旋转它的两个子节点,并且它确实旋转了它们,但发射器继续朝同一方向发射。
我可以手动更改发射角度,但这似乎不必要地复杂。
这是我用来旋转的
-(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];
}
我在这里错过了什么吗?
这是一个实际操作的视频