2014-02-16 13 views
0

我正在使用Corona SDK與Box2D引擎,並且我正在嘗試製作一款Flappy Bird風格的遊戲,以便熟悉與物理引擎。我嘗試過增加主角的密度,增加引力,改變物理舞臺的比例等等,但是主角仍然感覺太「浮動」。我已經玩過各種物理設置,但物體仍然感覺太「浮動」

增加重力盡可能接近我感覺不錯,但仍然存在問題。如果用戶連續快速點擊屏幕,則動量迅速增加,角色以高速飛離屏幕。這裏是我的代碼現在:

physics.setGravity(0, 60) --default is 9.8 

function screenTap() 
    flappy.isFixedRotation = true 
    flappy:applyLinearImpulse(0, -300, flappy.x - 3, flappy.y) 
    flappy.isFixedRotation = false 
end 

在原來笨鳥先飛遊戲,它似乎已經正常重力,但快速水龍頭屏幕不會使鳥過快飛了起來。它幾乎有像保齡球那樣「重」的感覺,但顯然在這個世界上,所有大衆的物體都以同樣的速度墜落。我沒有太多的物理引擎經驗,所以我希望有任何建議。

回答

2

如果你最近玩過飛揚的鳥,你應該觀察到,當你連續點擊鳥時,它的垂直速度不會增加!飛鳥開發者似乎已經將鳥的垂直速度設置爲某個值,只要它被挖掘而不是垂直加速。

所以,我的建議是,只要屏幕被點擊而不是加速它,只需將角色的垂直速度設置爲設置值即可。

+0

只是將垂直速度限制在一些合理的值。 – nekavally

+1

不管鳥兒的垂直速度如何,無論鳥兒在什麼時候點擊屏幕,垂直速度都會設置爲正/向上。如果要限制速度並保持加速度,並且要在向下加速的情況下敲擊鳥,則需要多次敲擊才能將其飛起來。 –

+0

這很有道理,我很驚訝,我沒有意識到它。我想我還有很長的一段路要去熟悉物理引擎。謝謝! –