2016-12-04 59 views
1

我正在爲大學的腳本和交互式Web模塊創建一個遊戲,但它不是我的強大套件。Action Script 3.0中的限制變量

我目前有一艘海盜船,編碼使它左右移動,並加速和減速,但是,我不知道如何限制加速和減速值。

目前,這艘船可以向前或向後無限移動。建議如何阻止這一點將不勝感激,謝謝!

下面是代碼:

stage.focus = stage; 
//controlling victory 
stage.addEventListener(KeyboardEvent.KEY_DOWN , victoryController); 
function victoryController(evt:KeyboardEvent){ 
    var aPress=String.fromCharCode(evt.charCode); 
    if (aPress=="a"){victory.rotation-=1;} 
    if (aPress=="d"){victory.rotation+=1;} 
    if (aPress=="w"){victorySpeed+=0.5;} 
    if (aPress=="s"){victorySpeed-=0.5;} 
    if (aPress=="A"){victory.rotation-=1;} 
    if (aPress=="D"){victory.rotation+=1;} 
    if (aPress=="W"){victorySpeed+=0.5;} 
    if (aPress=="S"){victorySpeed-=0.5;} 
} 

回答

0

如果對速度,你不喜歡的東西

var MaxVictorySpeed = 100; 

// ... 

if ((aPress=="w") && (victorySpeed < MaxVictorySpeed)){ 
    victorySpeed+=0.5; 
} 

等,設置新值之前,您可以檢查它是否將是超出預期的範圍。

+0

工作絕對的魅力!感謝您的倉促回覆,真的很感謝幫助! – SamPortsmouth

+0

歡迎。 :)請注意,在你的遊戲中這可能不是很重要,但在這個例子中'MaxVictorySpeed'可能會引起誤解。取決於增量(現在爲0.5),最大值(現在爲100)和初始值(0我認爲),實際可達值可能大於thr max。在極端情況下,可以考慮將最大值設置爲37,將增量值設置爲例如9.這些值將會像9,18,27,36一樣,但仍然小於37,因此可能會達到45。注意這更加精確。 :)你可以看看如果要克服這個已經增加的值。 :) –