我正在研究Cocos2D 0.9.3版本。我正在制作一个名为DoodleJump的演示游戏。现在当我正在制作一个跳过Touch事件的对象时,它会跳到下一个级别。
我已经静态定义了跳跃高度。
actionTo = [CCJumpTo actionWithDuration:1位置:ccp(SpriteImage.position.x,40 + 28)身高:110跳跃:1]; [SpriteImage runAction:actionTo];
它将在1级平台上正确跳转。但是当它降落在2级平台上时,它将不会跳到它的全高,但与之前的跳跃相比会跳得很低。在3级,它将跳低于2级,依此类推。跳跃时身高会逐渐下降。
请帮忙。
答案 0 :(得分:2)
我认为你需要改变这个:
ccp(SpriteImage.position.x,40+28)
到此:
ccp(SpriteImage.position.x, SpriteImage.position.y + 40 + 28)
总的来说,我并不是真的了解CCJump是如何工作的,这是非常令人困惑的,而且随着时间的推移,我有一些问题。我最终使用自己的跳转代码使用速度。这是在更新方法中完成的,kGravity是常量(0.2f):
velocity.y -= kGravity;
self.position = CGPointMake(position_.x += velocity.x, position_.y += velocity.y);
当你想要跳跃时,你只需将velocity.y设置为更高的值,如10。如果玩家跌得太快,那么只需确保velocity.y超过一些可调整的值,如-20。