我有一個在太空中導航的播放器。由於它是空間,所以沒有重力因此沒有拋物線軌跡。玩家只是從左到右水平線。玩家實際上沒有移動,但背景是,所以看起來他是。 x值是固定的。Corona SDK:向上和向下移動播放器
我有2個按鈕可以幫助玩家避開類似小行星的障礙物。一個按鈕給予玩家向上的力量,另一個向下的力量。以下是按下這些按鈕時調用的功能。
function moveUp(event) if event.phase == "ended" thenplayer:applyForce(0, 8, player.x, player.y) player:setSequence("jump") jumpChannel = audio.play(jumpSound) end return true end
功能下移(事件) 如果event.phase ==「結束」,然後
player:applyForce(0, -8, player.x, player.y) player:setSequence("jump") jumpChannel = audio.play(jumpSound) end return true end
這種實現的問題是,每當施加力的球員一直在持續那個方向。然後你必須朝相反的方向施加力量,他將永遠朝着那個方向前進。這不是我想要的。我要的是:
時按了,玩家上升爲Y.一定值(比如50像素)然後玩家不斷去在水平方向上從左至右在新的高度。
當按下DOWN時,播放器降低一定的值。然後玩家在新的高度繼續沿水平方向從左到右。
完成此操作的最佳方法是什麼?我可以使用applyForce函數來做到這一點,還是有另一種方法?在此先感謝您的時間!
使用武力運動總是更平滑,更逼真。 linearDamping因子像魅力一樣工作。謝謝你,我真的很感激! – Henok