Мои инопланетяне генерируются в нижней части экрана случайным образом вдоль оси X. Они перемещаются по диагонали в верхний левый угол экрана.Как переместить спрайт прямо справа налево?
Я бы хотел, чтобы они вместо этого отображались с правой стороны экрана случайным образом вдоль оси Y, а затем перемещались по прямой линии справа налево.
Как я могу изменить следующий код? Я новичок здесь ... пожалуйста, помогите, если вы можете:
if (curTime > _nextAlienSpawn)
{
float randSecs = [self randomValueBetween:0 andValue:13];
_nextAlienSpawn = randSecs + curTime;
float randY = [self randomValueBetween:0 andValue:winSize.height];
float randDuration = [self randomValueBetween:30 andValue:60];
alien = [_aliens objectAtIndex:_nextAlien];
_nextAlien++;
if (_nextAlien >= _aliens.count) _nextAlien = 0;
[alien stopAllActions];
alien.position = ccp(winSize.width+alien.contentSize.width, randY);
alien.visible = YES;
[alien runAction:[CCSequence actions:
[CCMoveBy actionWithDuration:randDuration position:ccp(- winSize.width-alien.contentSize.width, -500)],
[CCCallFuncN actionWithTarget:self selector:@selector(setInvisible:)],
nil]];
}
Похоже, я сделал некоторый прогресс, отредактировав следующую строку: 'alien.position = ccp (winSize.width + alien.contentSize.width, randY);' – Greg
Я вычитал вместо добавленного, и мои инопланетяне, похоже, генерируют немного выше на экране, чем раньше. – Greg
, если ваша вторая в последней строке будет 'ccp (- winSize.width-alien.contentSize.width, -500)' not 'winSize.height'? – NHDaly