我想在Flash中製作我的第一款遊戲,它將被稱爲行人跑步。這裏的搖滾樂會向玩家進發,並且應該以一致的速度進行,但是,每次它重新回到起點時,速度會越來越快。有沒有什麼辦法可以解決這個問題,因爲我不能爲我的生活弄清楚這一點。任何幫助表示讚賞。以下是pastebin上的代碼: Pedestrian Run Code隨着時間的推移,Flash Sprite變得更快
0
A
回答
0
請勿對rock.x
更新使用常量值。每次「重置」時使用一個變量並更新它。
請注意在下面的例子中,我在更新你之前的磐石之後進行更新。
private var speed:Number = 15;
function moveRock():void {
rock.x -= speed;
if (rock.x == char.x || rock.x == 0) {
this.removeChild(rock);
speed += 1;
spawnRock();
}
setTimeout(moveRock, 25);
}
1
我認爲遞歸函數中的setTimeout是一個非常糟糕的想法,這可能是導致您的問題的原因。對遊戲循環使用ENTER FRAME事件。
1
@Iansen是正確的,你的問題是由setTimeout不斷被調用引起的。
在你的moveRock()
你有一個setTimeout到moveRock
。你的setTimeouts正在積累,這就是爲什麼你看到翻譯增加。
這將是最好的,如果你使用的計時器來代替,就像這樣:
在你的職業等級的變量:
private var moveTimer:Timer;
在你init()
補充一點:
moveTimer = new Timer(25,0);
moveTimer.addEventListener(TimerEvent.TIMER, moveRock);
//you can call the moveTimer.start() anywhere you want, but this is fine
moveTimer.start();
然後你moveRock
和spawnRock
應該看起來像這樣:
private function moveRock(e:TimerEvent):void {
rock.x -= 15;
if (rock.x == char.x || rock.x == 0) {
removeChild(rock);
spawnRock();
}
}
private function spawnRock():void {
addChild(rock);
rock.x = 750;
rock.y = 520;
}
還值得一提的是,removeChild之和的addChild是相當浪費在這裏你當前的代碼,你會是罰款只是moveRock()
稍有改變:
private function moveRock(e:TimerEvent):void {
rock.x -= 15;
if (rock.x == char.x || rock.x == 0) {
rock.x = 750;
rock.y = 520;
}
}
相關問題
- 1. Grafana +石墨:隨着時間的推移,隨着時間的推移而變化
- 2. 隨着時間的推移,網格控制變得更慢
- 3. 隨着時間的推移
- 4. 隨着時間的推移
- 5. 隨着時間的推移
- 6. 隨着時間的推移更改UILabel?
- 7. 隨着時間的推移,隨着時間的推移信號隨時間推移的有效方法
- 8. 隨着時間的推移,GDB變得越來越慢
- 9. 隨着時間的推移data.table
- 10. 隨着時間的推移Python更新變量
- 11. ffmpeg -r/fps隨着時間的推移?
- 12. InfluxDB平均隨着時間的推移
- 13. 情節和隨着時間的推移
- 14. 隨着時間的推移UIDatePicker問題
- 15. $ _SERVER ['REQUEST_TIME']隨着時間的推移()
- 16. 隨着時間的推移Java遞減
- 17. 隨着時間的推移集羣R
- 18. 隨着時間的推移,響應時間隨着時間的推移而增加(惡化)
- 19. 爲什麼我的Haxe/Flash遊戲循環隨着時間的推移變慢?
- 20. 隨着時間的推移,Mongodb性能會顯着下降。
- 21. 隨着時間的推移快照網站
- 22. 隨着時間的推移隨着時間的推移球的位置下降的情節
- 23. 熱門內容算法/得分隨着時間的推移
- 24. 如何使可能性隨着時間的推移隨着時間的推移而增加
- 25. 隨機移動人物隨着時間的推移
- 26. 改變的UIImage的圖像隨着時間的推移
- 27. 隨着時間的推移跟蹤代碼的變化
- 28. 鐺傷人的名字隨着時間的推移而變化
- 29. 隨着時間的推移跟蹤價值變化的算法
- 30. 隨着時間的推移改變材料的顏色
歡迎(因此)。請在問題中包含代碼。將其粘貼到問題中,然後選擇所有代碼並按下'ctrl-k'。 –