有没有办法让skspritenode朝某个方向移动?与度数一样。 EG:面向70˚然后朝那个方向移动。我试图制作它,这样你就可以从我的玩家节点射出一颗子弹,但是我无法弄清楚如何使子弹超过鼠标所在的位置。
答案 0 :(得分:1)
如果您正在使用物理,那么您可以使用CGVector应用Impulse。如果您不使用物理,那么您将使用SKAction,但它不能解决您的具体用途。如果您想先旋转对象,那么您将更改其zRotation。显然你必须设置sprite和physicsBody,但我已经把这些步骤留下了。
SKSpriteNode *mySpriteToMove = [SKSpriteNode node];
[mySpriteToMove.physicsBody applyImpulse:CGVectorMake(floatDX, floatDY)];
[mySpriteToMove runAction:[SKAction moveBy:CGVectorMake(floatDX, floatDY) duration:amountOfTime]];
mySpriteToMove.zRotation = someValueInRadians;
评论回应代码:
[mySpriteToMove runAction:[SKAction moveTo:CGPointMake(floatX, floatY) duration:amountOfTime]];