小問題我在某個特定時間在屏幕上有大量對象(敵人),無法重新定義它們的值。我讓我的敵人在屏幕上以3開頭。XCode - 重新定義宏
我的目標是根據當前得分來改變敵人的數量。
我附上了下面的代碼片段。
#define kEnemies 3
- (void) EnemyIncrease
{
if (self.score>=100) {
#define kEnemies 4
}
}
//我也試過除其他事項外
#define kEnemies 3
- (void) EnemyIncrease
{
if (self.score >=100) {
#undef kEnemies
#define kEnemies 6
}
}
會很感激一些幫助。
我現在已經改變了我的代碼以下
int numberOfEnemies;
if (self.score>=0) {
numberOfEnemies = 3
}
else if (self.score>=100) {
numberOfEnemies = 4
}
但是現在的問題是,當這些分值達到新條件下陣列不更新numberOfEnemies。
for(int i = 0; i < numberOfEnemies; i++)
道歉,我還是新編碼,並試圖修改現有的代碼
使用變量,而不是宏。即使在編譯代碼之前,宏在預處理階段也會評估它們的值。 – 2012-07-25 11:22:36