Перевернуть все на экране после истечения фиксированного интервала - Cocos2d - PullRequest
1 голос
/ 08 мая 2011

У меня установлен таймер, он работает и работает полностью. Моя проблема в том, что я не знаю, возможно ли полностью перевернуть все на экране и удерживать его в том же положении по истечении определенного времени.

Е.Г.

У меня есть дерево. Через 30 секунд измените ориентацию с «landscapeleft» на «landscapeRight» и переверните все спрайты / таймеры на экране.

Возможно ли это?

Должен ли я просто изменить ориентацию, проверить, изменилась ли ориентация и, если она изменилась, изменить вращение спрайтов?

Кроме того, я действительно хотел бы поблагодарить ВСЕХ на этом сайте за всю их помощь и за то, что они мирились с моими "легко отвечаемыми" вопросами.

Спасибо!

1 Ответ

1 голос
/ 09 мая 2011

Вы можете использовать метод планирования, такой как nash, предложенный вместе с методом ориентации CCDirector [[CCDirector sharedDirector] setDeviceOrientation:kCCDeviceOrientationPortrait]; или любой необходимой вам ориентацией.

-(void) flipOrientation:(ccTime)delta {

    CCDirector *director = [CCDirector sharedDirector];

    if ([director deviceOrientation] == kCCDeviceOrientationLandscapeLeft )
        [director setDeviceOrientation:kCCDeviceOrientationLandscapeRight];
    else 
        [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];
}

тогда, когда вы планируете свой метод

[self schedule:@selector(flipOrientation:) interval:30.0];

, это должно делать то, что вы просите, однако я настоятельно предлагаю, как сказал Нэш, что вы вращаетевместо установки ориентации.Вы можете вращать свой основной слой или gameScene ... он будет более отзывчивым, и вы сможете контролировать его анимацию.Вы можете сделать это так же, как описано выше, планируя, но вместо настройки ориентации устройства просто поверните слой ... надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...