在固定时间间隔过后,在屏幕上翻转所有内容 - Cocos2d

时间:2011-05-08 16:44:46

标签: iphone cocos2d-iphone

我已经设置了一个计时器,并且完全正常工作。我的问题是,我不知道是否有可能完全翻转屏幕上的所有内容,并在经过一段时间后将其保持在同一位置。

E.G。

我有一棵树。 30秒后,将方向从“landscapeleft”翻转到“landscapeRight”,并在屏幕上翻转所有精灵/计时器。

有可能吗?

我是否只需更改方向,检查方向是否已更改,是否有更改,更改精灵旋转?

另外,我非常感谢本网站上的所有人提供帮助,并提出我的“轻松回答”问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以使用像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 ..它会更具响应性,您可以控制它的动画效果。您可以通过安排以与上述相同的方式执行此操作,但不要设置设备方向,只需旋转图层....希望这有帮助