的答案 - 賽車條件布爾不改變
所以這是遊戲我做產生的障礙,每個障礙熄滅屏幕它消除了障礙,增加了高分時間的類。這工作正常,但布爾(plusScore)在預期時不會更改爲true。
public void update() {
//
if(obstacles.get(obstacles.size() - 1).getRectangle().top >= Constants.SCREEN_HEIGHT) {
int xStart = (int)(Math.random()*(Constants.SCREEN_WIDTH - playerGap));
obstacles.add(0, new Obstacle(obstacleHeight, color, xStart, obstacles.get(0).getRectangle().top - obstacleHeight - obstacleGap, playerGap));
obstacles.remove(obstacles.size() - 1);
score += 10;
plusScore = true; //Problem here
tempTime = (int)System.currentTimeMillis();
}
if (tempTime + 5 <= System.currentTimeMillis()) {
plusScore = false; //Unsure if working as relying on above
}
}
這(下)在這裏,我呼籲布爾,我包括方法的第一部分,我不知道是否有可能是可能發生的衝突。
public void draw(Canvas canvas) {
for(Obstacle ob : obstacles)
ob.draw(canvas);
Paint paint = new Paint();
paint.setTextSize(100);
paint.setColor(Color.BLACK);
canvas.drawText(" " + score, 50, 50 + paint.descent() - paint.ascent(), paint);
if(plusScore) { //This is what the Boolean should effect
Paint paint2 = new Paint();
paint2.setTextSize(100);
paint2.setColor(Color.GREEN);
drawPlusScore(canvas, paint2, "+10!");
}
}
[我想弄清楚的時候沒有平局方法工作正常,如果聲明] 如果問題很明顯我很抱歉,我在下面的第一次的教程,並決定嘗試一些我自己。
滿足以下條件:obstacle.get(barriers.size() - 1).getRectangle()。top> = Constants.SCREEN_HEIGHT –
是的,它每次離開屏幕時都會將分數提高10已經在模擬器中檢查過) – George
我懷疑賽車狀況。試着重置'draw'中的布爾值而不是'update' - > put'plusScore = false;'作爲'if(plusScore)'中的第一個語句。在不同的線程上調用'update'和'draw'?如果是這樣,儘量讓它變得不穩定。 – Fildor