0

需要一些建议/指出正确的方向来解决这个问题..学校小伙子..不是家庭作业!个人学习。我不知道如何让怨恨从上到下。下面的代码使它们从左到右。提前致谢。

 CCSprite * monster = [CCSprite spriteWithFile:@"image.png"];
// Determine where to spawn the monster along the Y axis
CGSize winSize = [CCDirector sharedDirector].winSize;
int minX = monster.contentSize.width/ 0.2;
int maxX = winSize.height - monster1.contentSize.width/2;
int rangeX = maxX - minX;
int actualX = (arc4random() % rangeX) + minX;

// Create the monster slightly off-screen along the right edge,
// and along a random position along the Y axis as calculated above
monster.position = ccp(winSize1.width + monster.contentSize.width/2, actualX);
[self addChild:monster1];

// Determine speed of the monster
int minDuration = 2.0;
int maxDuration = 4.0;
int rangeDuration = maxDuration - minDuration;
int actualDuration = (arc4random() % rangeDuration) + minDuration;

// Create the actions
CCMoveTo * actionMove = [CCMoveTo actionWithDuration:actualDuration
                                            position:ccp(-monster.contentSize.width/2, actualX)];
CCCallBlockN * actionMoveDone = [CCCallBlockN actionWithBlock:^(CCNode *node) {
    [node removeFromParentAndCleanup:YES];
}];
[monster1 runAction:[CCSequence actions:actionMove, actionMoveDone, nil]];
4

1 回答 1

1

说明这一点的行:

CCMoveTo * actionMove = [CCMoveTo actionWithDuration:actualDuration position:ccp(-monster.contentSize.width/2, actualX)];

是什么在设置运动。您告诉精灵移动到的位置 , 是您想要移动到的位置ccp(-monster.contentSize.width/2, actualX)的 (X, Y) 坐标。X 是第一个值,Y 是第二个值。出于某种原因,您拥有actualX想要移动到的位置的 Y 值。

如果要向上或向下移动,则应将精灵移动到新的 Y 坐标。也许是这样的?

CCMoveTo * actionMove = [CCMoveTo actionWithDuration:actualDuration position:ccp(monster.position.x, monster.position.y - 300)];
于 2013-04-04T20:49:10.827 回答