我只是爲了測試一些代碼而製作應用程序。有一艘船正在射擊敵人。這些敵人從屏幕頂部下來,他們與被添加一個隨機的X在限制範圍內在舞臺上添加敵人
-(void) addEnemy {
int randomX = arc4random() % screenWidth;
Enemy* anEnemy;
int diceRoll = arc4random() % 4;
if (diceRoll == 0) {
anEnemy = [Enemy createEnemy:@"enemy1" framesToAnimate:24];
} else if (diceRoll == 1) {
anEnemy = [Enemy createEnemy:@"enemy2" framesToAnimate:17];
} else if (diceRoll == 2) {
anEnemy = [Enemy createEnemy:@"enemy3" framesToAnimate:14];
} else if (diceRoll == 3) {
anEnemy = [Enemy createEnemy:@"enemy4" framesToAnimate:24];
}
[self addChild:anEnemy z:depthLevelBelowBullet];
anEnemy.position = ccp (randomX , screenHeight + 200);
numberOfEnemiesOnstage ++;
}
敵人代碼(之所以說其4個不同的敵人是,它們都具有不同的行爲)加入價值意味着敵人有時候是屏幕外的一半。就像這樣:
如何限制從屏幕兩側的x值,因此不會出現這種情況?
我得到警告+類方法textureRect沒有找到 – Stumpp 2013-03-02 17:41:36
好吧,我假設'Enemy'是CCSprite'的'子類。您必須將圖像寬度的一半放在'offset'變量中。 – Alexander 2013-03-02 17:43:10
有什麼問題嗎? – Alexander 2013-03-03 01:47:03