2014-03-02 69 views
1

當屏幕方向爲縱向時,精靈應該從北向南移動。 然而,精靈在縱向模式下從東向西。當屏幕方向是風景時,精靈從東向西移動,我對此很困惑。我試圖讓這個精靈從上往下移動。Sprite方向Cocos2d 3.0

代碼控制精靈玩家後

- (void)addMonster:(CCTime)dt 
{ 

monster = [CCSprite spriteWithImageNamed:@"MarioTube_Body_Rev.png"]; 

int minY = monster.contentSize.height/2; 
int maxY = self.contentSize.height - monster.contentSize.height/2; 
int rangeY = maxY - minY; 
int randomY = (arc4random() % rangeY) + minY; 

monster.position = CGPointMake(self.contentSize.width + monster.contentSize.width/2, randomY); 
[self addChild:monster]; 

int minDuration = 2.0; 
int maxDuration = 4.0; 
int rangeDuration = maxDuration - minDuration; 
int randomDuration = (arc4random() % rangeDuration) + minDuration; 

CCAction *actionMove = [CCActionMoveTo actionWithDuration:randomDuration position:CGPointMake(-monster.contentSize.width/2, randomY)]; 
CCAction *actionRemove = [CCActionRemove action]; 
[monster runAction:[CCActionSequence actionWithArray:@[actionMove,actionRemove]]]; 

} 

回答

0

所以與它周圍我想通了,它只是改變了一些「高度」和寬度約爲

- (void)addMonster:(CCTime)dt 
{ 

monster = [CCSprite spriteWithImageNamed:@"MarioTube_Body_Rev.png"]; 

int minX = monster.contentSize.height/2 - monster.contentSize.height/2; 
int maxX = self.contentSize.height; 
int rangeX = maxX - minX; 
int randomX = (arc4random() % rangeX) + minX; 

monster.position = CGPointMake(randomX, self.contentSize.height + monster.contentSize.height/2); 
[self addChild:monster]; 

int minDuration = 2.0; 
int maxDuration = 4.0; 
int rangeDuration = maxDuration - minDuration; 
int randomDuration = (arc4random() % rangeDuration) + minDuration; 

CCAction *actionMove = [CCActionMoveTo actionWithDuration:randomDuration position:CGPointMake(randomX, -monster.contentSize.height/100)]; 
CCAction *actionRemove = [CCActionRemove action]; 
[monster runAction:[CCActionSequence actionWithArray:@[actionMove,actionRemove]]]; 

}