所以我一直在用Action Script 3和CS5.5來製作這款遊戲。當你在太空中飛行時,你要做的是避免小行星。我認爲讓太陽系外的行星在整個遊戲過程中沿着屏幕向下移動將會很酷。有點讓它看起來像你飛過他們。我這樣做的方式是我每秒鐘向每個幀添加五個y座標。一旦他們的y座標達到600(屏幕的底部),我會添加一個新的行星,它會做同樣的事情。出於某種原因,一旦我到了土星,一切都變得怪異。土星來得早,天王星也是如此。我不知道發生了什麼事。我一直對此感到沮喪很長時間。以下是我認爲存在問題的部分。如果語句在Actionscript 3中搞砸了?
公共函數onTick(timerEvent:TimerEvent):無效 {
earth.PlanetMovement(5);
if (earth.y==600)
{
mars.PlanetsStart(300, -100);
addChild(mars);
levels=levels+5;
}
mars.PlanetMovement(5);
if (mars.y==600)
{
jupiter.PlanetsStart(300,-150);
addChild (jupiter);
levels=levels+10;
}
jupiter.PlanetMovement(5);
if (jupiter.y==600)
{
saturn.PlanetsStart(300,-155);
addChild (saturn);
levels=levels+20;
}
saturn.PlanetMovement(5);
if (saturn.y==600)
{
uranus.PlanetsStart(300,-160)
addChild (uranus);
levels=levels+25;
}
uranus.PlanetMovement(5);
PlanetMovement,和PlanetsStart是在行星類兩種功能。如果您需要更多信息,請告訴我。
編輯:我想我應該進一步解釋。 PlanetsStart是一個具有每個動畫片段起始座標的函數。所以一旦地球達到600的y座標,那麼火星從(300,-100)開始。然後它被添加到屏幕上。等級是一個可以提高每個fps分數的變量。 PlanetMovement是每個動畫片將移動每個fps多少。如果我使用> =那麼分數會提高太多。
這正是發生的情況。地球出現在它應該在的地方。然後火星準時出現。然後出於某種原因,土星在火星和木星中間彈出。在土星到達底部之後,天王星纔會出現。然後木星到達底部,一切都按原樣運作。土星出現,然後天王星順序
是的,我知道。如果我這樣做> =,那麼關卡會繼續上升5,10和25.關卡是一個變量,它會使每個fps的高度增加。如果我這樣做,那麼得分會非常高。另外,如果我做了> =它會繼續添加電影剪輯火星,木星,土星和天王星。因爲我在600時只有一個將在它到達y座標時創建。 – TyroneBiggums 2012-04-25 02:33:51
如果你只使用600,那麼你必須確保你只能以600的倍數增加。即,上面的增量155,160會因爲跳過600的值而失敗。 – loxxy 2012-04-25 10:06:00