Cocos2d场景加载错误的方向

时间:2013-04-21 17:05:38

标签: objective-c uiview cocos2d-iphone ccscene

我正在尝试在一些UIKit视图之上创建一个cocos2d场景。据我所知,cocos2d 2.0 CCDirector是UIViewController的子类,因此我可以将其添加为子视图。

我已经编写了这个函数来处理切换到appDelegate中的场景(目前那个 我的MainWindow.xib在http://www.raywenderlich.com/4817/how-to-integrate-cocos2d-and-uikit)之后的代表:

- (void)switchToScene
{
    self.viewController = [CCDirector sharedDirector];

    [[CCDirector sharedDirector] view].center = self.window.center;

    [self.window addSubview:[self.viewController view]];

    [[CCDirector sharedDirector] runWithScene:[CCTransitionSlideInL transitionWithDuration:1 scene:[BattleLayer scene]]];
}

所以我从这段代码中遗漏了很多东西。但有了这个,我得到一些场景的相似性来加载http://i.stack.imgur.com/pubWE.png

我的问题是:

1:如果我朝着正确的方向前进

2:如果是,下一步是手动调整场景的方向吗?

2.1:我该怎么做:))

2 个答案:

答案 0 :(得分:0)

我不确定你希望它看起来如何,但似乎CCDirector的视图旋转了90度CW。这可能是由于以下几个原因:

  1. 您添加错误的视图(即旋转90度CW)
  2. 你旋转了设备并且CCDirector没有旋转(在这种情况下你应该看看方向参数以及旋转的人和旋转。可能是应用程序旋转但是CCDirector没有收到旋转标记)。
  3. 你可以用CGAffineTransformRotate旋转CCDirector视图(我不确定..但是因为CCDirector是UIViewController的子类..它应该工作)。

答案 1 :(得分:0)

我通过创建UINavigationController

解决了这个问题
- (void)switchToScene:(CCScene *)sceneObj
{
    navController_ = [[UINavigationController alloc] initWithRootViewController:director_];
    [window_ setRootViewController:navController_];
    [[CCDirector sharedDirector] pushScene:sceneObj];
}