gpt4 book ai didi

c++ - cocos2dX 方向支持

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:23 24 4
gpt4 key购买 nike

我在做简单的定向测试时遇到了这个问题。

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

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

最佳答案

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

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

为我工作。希望对您有所帮助。

关于c++ - cocos2dX 方向支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23212873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com