2
我使用類似於Flappy Bird中的分數系統創建遊戲。遊戲邏輯 - 通過障礙物後僅添加一次分數
當玩家成功通過左,右 障礙我希望我的成績變量由1提高我不知道它背後的邏輯,但。
現在我有(這裏面一個for循環檢查的更新方法,每一個障礙):「在」確保將比分只有1
if (bird.getPosition().y > obstacle.getPosLeft().y) {
if (!over) {
over = true;
score++;
}
當增加
障礙物離開屏幕(是的,y是0在底部,而不是頂部):
if (obstacle.getPosLeft().y + Obstacle.OBSTACLE_HEIGHT < 0){
obstacle.reposition(obstacle.getPosLeft().y + (OBSTACLE_SPACING + Obstacle.OBSTACLE_HEIGHT)* OBSTACLE_COUNT);
over = false;
}
的問題是,可以在第一一個得到重新定位,這意味着噸之前經過2障礙物對帽子你只得到reposition()
被稱爲障礙1後的第二點。
你會如何解決這個問題?
如果你只是'評分++'而不是'if'語句會發生什麼? –
如果我超過任何障礙,它只是爲每個勾號添加分數。我的意思是,你會得到很多積分(這很酷且全部),但那不是我想要做的。 – S5amuel
當你通過障礙物時,你能否調用正確的位置?既然你已經通過障礙,你不再關心它,所以你可以重新定位它。試試看。 –