2013-05-02 82 views
1

我是遊戲開發的新手,所以任何人都可以引導我或幫助讓遊戲中的跳躍更加逼真,比如怪物inc跑步,超級跑步有用戶可以跳躍或者也可以跳躍如果在屏幕上長按,則跳遠。我試過Box2D的代碼進行簡單的跳轉我使用這個代碼cocos2d所有遊戲的現實跳躍iphone

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); 

但它不給我正確的結果,我想,所有的遊戲都有確切的邏輯或技術。任何人都可以向我推薦本書,教程或示例代碼,這樣我就可以使我的遊戲在遊戲中更具吸引力,並告訴我如何讓更長的跳躍事件發生。我搜索了很多,但我沒有找到任何好的教程或網絡上的東西,所以我決定在這裏問它,並對我的英語感到抱歉,我不擅長它。

回答

2

我不知道Cocos2D,但我可以建議你我是如何看到它完成的: 當用戶開始按下按鈕時,你開始對角色施加一個垂直力,這個力繼續申請一個ammount的時間(讓角色達到更高的高度)或直到用戶停止按下按鈕。 這種方式,如果它只是一個水龍頭然後施加的力量是小的,但如果按下按鈕的時間越長,字符跳得越高

+0

我也做了這件事,但它並沒有讓它變得逼真,就像我在做如果用戶按我做使用applylinearimpluse玩家有一個較大的垂直速度,我也爲壓力狀態做了一個變量真正的檢查,如果用戶仍然感動,並在該變量我給他少量applylinearimpluse,但由此我沒有得到完美的結果跳了一段時間,它只是按下或一段時間它跳到很高,只是跳得很快,它工作得太快 – preciouslogic 2013-05-02 09:32:32

+0

那麼你顯然沒有正確檢查的東西,你不需要任何變量來檢查用戶是否按下按鈕或不,只是評估它的每一幀,並執行正確的行動依據 – Meoiswa 2013-05-02 09:39:07

+0

我馬如果我只是在它上面應用少量的衝動,就像你說的一樣,直到在特定的高度,那麼它將不會跳,如果我跳過它,這就是爲什麼我給它一點點高衝動,然後檢查用戶繼續按壓狀態,然後給它更多的衝動,直到具體的高度或衝動率 – preciouslogic 2013-05-03 05:32:16