1
隨着我的遊戲進行,敵人變得更強。爲了讓敵人變得更強大,我製作了一個名爲thealth的私人int(可能是一個糟糕的編程選擇),每次這個sprite都會觸及這個財富 - ;直到它達到零並且精靈被移除。這工作得很好,直到我決定一次在我的場景中有多個精靈。我遇到的問題是,如果這個精靈擁有兩個財富(例如),我觸摸它,所有其他精靈都有他們的財富 - ;太。那麼我怎麼能給每個精靈自己的健康,所以如果我碰它,其他精靈不會受到影響?每個敵人的生命
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
if (pSceneTouchEvent.isActionDown()) {
if (this.getAlpha() > 0.8f) {
thealth--;
}
if (thealth == 0) {
this.detachSelf();
mScene.unregisterTouchArea(this);
Score++;
if (Score < 35) {
thealth = 1;
}
if (Score > 35) {
thealth = 2;
}
if (Score > 100) {
thealth = 3;
}
}
return true;
}
return false;
}
聽起來像健康定義爲靜態 – SpiderPig
確保thealth是一個實例變量( - >每個實例有它自己的拷貝),而不是一個靜態或全局變量。 – Patashu
我知道這不是最好的代碼,我一直試圖教自己的Java和我一直在相處,我猜。謝謝你們的幫助。 – user2300663