Cocos2d iphone 与cocos2d iphone中的所有游戏一样逼真的跳跃

Cocos2d iphone 与cocos2d iphone中的所有游戏一样逼真的跳跃,cocos2d-iphone,box2d-iphone,Cocos2d Iphone,Box2d Iphone,我是游戏开发新手,所以任何人都可以指导我或帮助我使游戏中的跳跃更加逼真,比如monster inc run、mega run,其中用户可以跳跃,或者如果在屏幕上按long也可以进行跳远。我尝试了box2d代码来进行简单的跳转我正在使用这个代码 b2Vec2 impulse = b2Vec2([self body]->GetMass()*vert, [self body]->GetMass()*horz); b2Vec2 impulsePoint = [self body]-&

我是游戏开发新手,所以任何人都可以指导我或帮助我使游戏中的跳跃更加逼真,比如monster inc run、mega run,其中用户可以跳跃,或者如果在屏幕上按long也可以进行跳远。我尝试了box2d代码来进行简单的跳转我正在使用这个代码

b2Vec2 impulse = b2Vec2([self body]->GetMass()*vert, [self body]->GetMass()*horz);
    b2Vec2 impulsePoint = [self body]->GetWorldCenter();//GetWorldPoint(b2Vec2(5.0/100.0, -15.0/100.0));
    [self body]->ApplyLinearImpulse(impulse, impulsePoint);

但它并没有给我正确的结果,我想要所有游戏都具备的确切逻辑或技术。有人能给我推荐书、教程或示例代码吗?这样我就可以通过游戏使我的游戏更具吸引力,还可以告诉我如何制作更长的跳跃。我搜索了很多,但在网上找不到任何好的教程或东西,所以我决定在这里问它,很抱歉我的英语不好。

我不知道Cocos2D,但我可以向你推荐我是如何看到它的: 当用户开始按下按钮时,您开始向角色施加垂直力,该力持续施加一定时间(使角色达到更高的高度)或直到用户停止按下按钮。
这样,如果只是轻轻敲击,那么施加的力很小,但是如果按下按钮的时间更长,角色会跳得更高

我也这样做了,但这并不像我现在做的那样,如果用户按下按钮,我会使用applylinearimpluse在播放器上产生更大的垂直速度,并且我会为press state设置一个变量true,以检查用户是否仍然被触摸,并且在该变量上我会给他少量的applylinearimpluse,但我没有得到完美的跳跃结果,有时它会跳得很高,有时它会跳得很小,它工作得太快,那么你显然没有正确地检查东西,你不需要任何变量来检查用户是否按下按钮,只需每帧评估一次,然后执行正确的操作。我做了检查b/c,如果我像你说的那样对它施加少量的冲量,直到达到特定高度,那么如果我跳按它,它就不会跳。这就是为什么我在点击时给它一点高冲量,然后检查用户是否继续按状态,然后再给它更多冲量至特定高度或冲量率