这是运行我的精灵的代码,它应该平滑地跳转并从屏幕中心开始。它偶尔会发生这种情况,但大部分时间它会崩溃到地板上。它仍然跳跃,但它并不顺畅。
浮动值
@interface HelloWorldScene () <CCPhysicsCollisionDelegate>
{
float _yVel;
}
@end
数学
- (void) jump
{
// adjust jump speed here
if ( _player.position.y > kFLOOR_HEIGHT ) _yVel -= 0.14;
else {
if ( _yVel != 5 ) _yVel = 0;
}
_player.position = ccp( _player.position.x, _player.position.y + _yVel);
}
有人可以帮忙吗?
答案 0 :(得分:1)
我无法理解你的代码所做的一切,你应该分享更多信息(例如,什么时候发送跳转消息?当用户触摸某个屏幕按钮时?)
但是,我可以给你一些提示来改进它:
if ( _yVel != 5 ) _yVel = 0;
这样非常接近5的数字会将5.00001
返回到条件。如果你真的需要这样做,你应该使用间隔,比如YES
编辑:这个很棒的教程将帮助你https://www.makegameswith.us/gamernews/369/build-your-own-flappy-bird-with-spritebuilder-and