我正在使用SpriteKit创建我的第一个iOS游戏,每次点击屏幕时我都会对我的精灵施加冲动,如下所示:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
_ball.physicsBody.velocity = CGVectorMake(0, 0);
[_ball.physicsBody applyImpulse:CGVectorMake(0, 5)];
}
我试图避免在施加冲动之前将精灵速度设置为零的脉冲累积,但似乎无法正常工作。我也只是在它的速度为零时,通过这样做来有条件地冲动精灵,但它既不起作用。我做错了什么?。
答案 0 :(得分:0)
你可以尝试:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CGVector vecVelocity = _ball.physicsBody.velocity;
if(vecVelocity.dx == 0 && vecVelocity.sx == 0) {
[_ball.physicsBody applyImpulse:CGVectorMake(0, 5)];
}
}