我们在开发一款游戏之前一定会考虑的一件事就是,我们的游戏是支持横屏还是竖屏,又或者是横竖屏都支持。那么如何在xcode中对项目进行设置呢?下面我就在xcode5.1.1中利用cocos2dx2.2.3,从新建项目开始,来进行游戏横竖屏的设置。

一、新建项目

找到cocos2dx相应目录,利用python脚本新建项目,在MAC的终端输入如下命令(此处为我的目录位置,项目名与包名任意命名):

cd /cocos2d-x-2.2.3/tools/project-creator
python create_project.py -project 项目名 -package 包名 -language cpp

此时,项目创建成功。在cocos2d-x-2.2.3目录下,打开projects目录后,找到我们新建的项目,进入项目目录后会看到如下目录结构,由于我们是在MAC系统下开发,所以打开对应的ios目录,找到项目文件打开

二、横竖屏设置

打开项目后,在xcode左上角可以设置虚拟机(图中iPhone设备需要自行下载,上篇博客中已说明下载方法)

设置好虚拟机后,编译运行程序,得到如下效果

从运行结果中可以看到,新建的项目默认为横屏显示,将设备旋转为竖屏后,游戏画面并未自动旋转

再将设备旋转90度,游戏画面自动变化为下图

那么接下来,就让我们来看看如何设置设备的方向。

首先,点击我们的项目,选择“General”选项卡,在“Deployment Info”下找到“Device Orientation”,其后有4个选项,当前选中下面两个,也就是我们上面看到的结果,设备横屏时的两个状态。

若对应之前版本的xcode应该更好理解

当我们只设置一个方向时,旋转设备后,游戏画面只会在设置的方向正常显示,设备旋转到其他方向时,游戏画面不会自行旋转。

那么现在,我们将设备方向设置为上面的两个选项,及竖屏的两个方向

现在运行程序,可以看到如下效果,游戏画面已变为竖屏

将设备旋转为横屏后,效果如下,游戏画面并未旋转

再将其旋转90度,如下图

此时,游戏画面没有自动旋转,与我们的设置不相符。那么现在,我们将设备方向只设置为“Upside Down”,即

运行程序时,我们会看到程序会抛出异常

此时我们需要修改代码,在项目的ios目录下找到“RootViewController.mm”文件

我们找到“supportedInterfaceOrientations”方法,看到此处返回值的结尾处,就会知道为什么会出现上面的异常

我们在头文件“UIApplication.h”中查看该返回值的含义(在最下面),其中的含义应该比较好理解

现在我们将返回值改为所有方向

运行程序,此时设备方向和游戏画面和我们的设置一致

我们发现在“RootViewController.mm”中还有一个“shouldAutorotateToInterfaceOrientation”方法好像也与屏幕方向有关,但看到上面的注释,我们知道这个方法在ios6中已经不再使用了,但在ios6之前的版本还是需要设置的。

其实,这个函数的返回值也比较简单,同样在“UIApplication.h”中,根据需要自行设置即可

综上,我们在设置游戏画面方向时,需要设置3个地方

(1) 项目“General”选项卡下的“Device Orientation”选项

(2) 项目ios目录下“RootViewController.mm”的“supportedInterfaceOrientations”函数返回值

(3) 同样是“RootViewController.mm”中的“shouldAutorotateToInterfaceOrientation”函数返回值

至此,我们就可以根据自己项目的需要来设置游戏支持横屏或竖屏了。

xcode5下cocos2dx横竖屏设置的更多相关文章

  1. iOS9横竖屏设置的处理方法

    在一般的视频类APP播放的时候都会支持横屏,这样做的好处就是便于观看.你的项目中支持横屏吗?我们一起了解一下,在iOS9中横竖屏设置的处理方法吧! 支持横竖屏配置 在iOS6以后,如果APP需要支持横 ...

  2. screen-Orientation 横竖屏设置

    1.xml中设置,这个主要是在AndroidManifest.xml 中查找activity,然后在里面设置属性,如下 <application android:label="@str ...

  3. iTOP4418开发板7寸屏幕Android系统下横竖屏设置

    Android系统屏幕旋转设置 平台: iTOP4418开发板+7寸屏幕 1. Androd4.4源码可以编译成手机模式和平板模式,讯为iTop4418 开发平台的Android系统默认编译为平板模式 ...

  4. Mac 系统下cocos2dx 环境变量设置

    Mac 系统环境变量设置   vim ~/.bash_profile    export PATH=$PATH:/Users/wangchengcheng/Downloads/LearningSoft ...

  5. react native 添加第三方插件react-native-orientation(横竖屏设置功能 android)

    Installation 1.install  rnpm Run  npm install -g rnpm 2.via rnpm Run rnpm install react-native-orien ...

  6. Android Activity 常用功能设置(全屏、横竖屏等)

    Activity全屏设置 方式1:AndroidManifest.xml <activity android:name="myAcitivty"  android:theme ...

  7. Android APP 简单高效的禁用横竖屏切换

    默认情况下,Android APP的界面会随着手机方向的改变而改变,当手机处于竖屏状态,APP的界面也处于竖屏状态,而当手机处于横屏状态,APP也会自动切换到横屏状态.一般情况下APP的界面都是为竖屏 ...

  8. Activity 横竖屏切换

    前言 在开发中常要处理横竖屏切换,怎么处理先看生命周期 申明 Activity 横竖屏切换时需要回调两个函数 ,所以在此将这个两个函数暂时看成是Activity 横竖屏切换的生命周期的一部分,这两个函 ...

  9. Android layout的横竖屏处理

    一.layout-land和layout-prot的区别与使用 默认情况下,创建的Android项目里只有一个layout文件夹,尽管这样也可以横竖屏切换用,但是某些布局横屏过后闲的格外的丑,如下图 ...

随机推荐

  1. ztree使用心得

    一个很好用的Jquery树形控件 官网:http://www.ztree.me/v3/main.php#_zTreeInfo 我主要引用的文件为: //最新版的JS压缩包 <script src ...

  2. innobackupex的备份和恢复

      http://blog.itpub.net/15480802/viewspace-1173479/ 1 原理 分3个阶段:备份backup – 预恢复prepare  -- 恢复restore 注 ...

  3. 如何快速检查js语法学习Javascript

    这里给大家推荐一个快速进行语法检查的方法,可以发现绝大多数语法错误,也可以作为在线编辑器,提高编程效率. 地址:http://www.jslint.com/ 同时推荐一个在线学习Javascript的 ...

  4. 分享十个CSS3鼠标滑过文字动画特效

    介绍10组基于CSS3的鼠标滑过文字动画特效,有上凸.下凹等文字动画.这些炫酷的CSS3文字效果可以让网页变得更加绚丽.效果图如下: 在线预览   源码下载 实现的代码. html代码: <h2 ...

  5. tachyon with hadoop

    hadoop2.2.0 jdk1.7 tachyon0.5.0 无zookeeper tachyon和hadoop都是伪分布式模式 1.修改core-site.xml文件 <property&g ...

  6. 减肥App计划

    写在前面   最近公司需求不多,正好研究一下 App 瘦身的办法,写了点小总结. 如果你不知道下面几个问题,不妨可以看看文章. 使用 .xcassets 有什么好处? @1x .@2x 和 @3x 会 ...

  7. JSON3-翻译(不当之处,请指正)

    http://bestiejs.github.io/json3/JSON 3 显示了两个功能:stringify():序列化一个javaScript值为一个JSON,和parse():将一个json字 ...

  8. dispatch_group_async可以实现监听一组任务是否完成,完成后得到通知执行其他的操作。这个方法很有用,比如你执行三个下载任务,当三个任务都下载完成后你才通知界面说完成的了

    dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ); dispatch_group_ ...

  9. FVDI Commander products be replaced SVDI tools,really?

    You may have heard that some FVDI Commander products are being replaced by the new SVDI tools. This ...

  10. jq使用手册

    jq 使用手册   翻译整理:Young.J 官方网站:http://jquery.com    jQuery是一款同prototype一样优秀js开发库类,特别是对css和XPath的支持,使我们写 ...