cocos2dX方向支持

时间:2014-04-22 07:11:10

标签: c++ cocos2d-x

在进行简单的方向测试时,我遇到了这个问题。

假设我使用480 * 320的横向设计分辨率和320 * 480的纵向模式设计分辨率。 现在我有一个宽480的长精灵,它在纵向模式下并没有显示出所有的精灵。 然后在方向改变时,我重新定位它以便它应该正确显示。 在这样做之后,我成功地正确放置了精灵,锚定在左下角,但是精灵仍然没有完全显示出来。

http://tinypic.com/r/34e45c2/8< - 肖像模式 http://tinypic.com/r/2s84vgh/8< - 重新定位后的风景

重现的步骤:

1)使用create_project工具

创建默认项目

2)编辑RootViewController.mm,如下所示 将这3行添加到didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

auto dum = Director::getInstance()->getRunningScene()->getChildByTag(13579)
                 ->getChildByTag(24680);
dum->setPosition(cocos2d::Point::ZERO);
dum->setAnchorPoint(cocos2d::Point::ZERO);

}

3)添加上面使用的标签,       在createScene下更改为     scene->addChild(layer, 0, 13579);       在HelloWorld :: init下     this->addChild(sprite, 0, 24680);

4)在项目设置“常规”选项卡下,勾选“设备方向”

下的所有4种模式

5)在模拟器中运行,然后单击Hardware-> rotateLeft

我该如何解决这个问题? [我尝试将HelloWorld图层的内容大小更改为getFrameSize(),但没有运气。]

感谢。

PS我正在使用cocos2dx-3.0alpha1

1 个答案:

答案 0 :(得分:1)

您可以尝试在AppDelegate :: applicationDidFinishLaunching()方法的AppDelegate.cpp中添加以下代码:

 glview->setDesignResolutionSize(320,480,ResolutionPolicy::SHOW_ALL);

为我工作。我希望它有所帮助。

相关问题