精灵方向Cocos2d 3.0

时间:2014-03-02 09:32:24

标签: cocos2d-iphone sprite

当屏幕方向为纵向时,精灵应该从北向南移动。 然而精灵正以纵向模式从东向西。当屏幕方向为横向时,精灵从东向西移动,我对此非常困惑。我试图让精灵从上到下移动。

控制精灵的代码

- (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]]];

}

1 个答案:

答案 0 :(得分: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]]];

}