Мне удалось создать цель, случайно развернутую в верхней части экрана и исчезнувшую в нижней части экрана. Единственная проблема заключается в том, что цели только каждый раз перемещаются в одну фиксированную точку. Я хочу, чтобы они переместились в случайную точку в нижней части экрана. Есть идеи? Спасибо.Случайные направления Sprite
Вот код:
- (Недействительными) addTarget {
CCSpriteSheet *sheet = [CCSpriteSheet spriteSheetWithFile:@"meteorImgs.png" capacity:50];
[self addChild:sheet];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"metImg.plist"];
target = [CCSprite spriteWithFile:@"Frame2.png" rect:CGRectMake(0, 0, 60, 120)];
CGSize winSize = [[CCDirector sharedDirector] winSize];
int minY = target.contentSize.height/2;
int maxY = winSize.width*1.5 - target.contentSize.height/2;
int rangeY = maxY - minY;
int actualY = (arc4random() % rangeY) + minY;
target.position = ccp(actualY, target.contentSize.height*5); //- (-target.contentSize.height/2), actualY);
[self addChild:target];
int minDuration = 2.0;
int maxDuration = 4.0;
int rangeDuration = maxDuration - minDuration;
int actualDuration = (arc4random() % rangeDuration) + minDuration;
id actionMove = [CCMoveTo actionWithDuration:actualDuration position:ccp(160,0)];
id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)];
[target runAction:[CCSequence actions:actionMove, actionMoveDone, nil]];
}
Предыдущая:
Здравствуйте,
Я Ray Wenderlich's code для этого. Мой вопрос в том, как сделать цели мишенью в верхней части экрана в портретном режиме и переместиться в нижнюю часть экрана. Независимо от того, что я меняю, ничего действительно не происходит. Прямо сейчас, как говорится в учебнике, цели перемещаются справа налево.
То, что я пытаюсь сделать (должно было быть более конкретным), вместо того, чтобы цели двигались с правой стороны экрана влево, я хочу, чтобы они переместились в нижнюю часть экрана сверху .(Сверху вниз). Каким-то образом код сообщает, что цели появляются с правой стороны, но я не знаю, где это. Это основное мясо кода, ничто другое не может повлиять на положение целей.
-(void)addTarget {
CCSprite *target = [CCSprite spriteWithFile:@"dude_jump.png"
rect:CGRectMake(0, 0, 30, 60)];
CGSize winSize = [[CCDirector sharedDirector] winSize];
int minY = target.contentSize.width/2;
int maxY = winSize.width - target.contentSize.width/2;
int rangeY = maxY - minY;
int actualY = (arc4random() % rangeY) + minY;
target.position = ccp(winSize.width + (target.contentSize.width/2), actualY);
[self addChild:target];
int minDuration = 2.0;
int maxDuration = 4.0;
int rangeDuration = maxDuration - minDuration;
int actualDuration = (arc4random() % rangeDuration) + minDuration;
id actionMove = [CCMoveTo actionWithDuration:actualDuration position:ccp(-target.contentSize.width/2, actualY)];
id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)];
[target runAction:[CCSequence actions:actionMove, actionMoveDone, nil]];
}
Hai guee, что здесь происходит? – Will
Спасибо за умеренность. Гораздо лучше снять шум. :-) –