Сделать случайную позицию для спрайта в кокосах 2D - PullRequest
1 голос
/ 28 февраля 2012

Привет всем хорошо, я на Cocos2D и вот мой код:

target.position = ccp(actualX, 0);

Но я бы хотел добавить случайную позицию, такую ​​как:

arc4random() / (UINT_MAX/2);

switch(position) {
    case 0: /* top */
         target.position = ccp(actualX, 200);
        break;;

    case 1: /* bottom */
         target.position = ccp(actualX, 100);
        break;

Как я могу это сделать, пожалуйста? извините за мой английский я французский: /

Ответы [ 2 ]

4 голосов
/ 01 марта 2012

Я думаю, это легко .. Если вы используете альбомный режим для iPhone ... (480x320)

int positionX = arc4random()%480;
int positionY = arc4random()%320;
[sprite setPosition:ccp(positionX,positionY)];

Это добавит ваш спрайт в любое место на экране. Измените разрешение в соответствии с экраном.

1 голос
/ 28 февраля 2012

Просто получите случайное число от 0 до 3, а затем примените ваши случаи к каждому из случаев, как показано ниже:

int positionCase = arc4random() % 4;

switch(positionCase) 
{
    case 0:
         target.position = ccp(actualX, 0);
        break;

    case 1:
        target.position = ccp(actualX, 200); 
        break;

    case 2:
         target.position = ccp(0, actualY); 
        break;

    case 3:
         target.position = ccp(200, actualY);
        break;
}
...