xcode5下cocos2dx横竖屏设置
我们在开发一款游戏之前一定会考虑的一件事就是,我们的游戏是支持横屏还是竖屏,又或者是横竖屏都支持。那么如何在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横竖屏设置的更多相关文章
- iOS9横竖屏设置的处理方法
在一般的视频类APP播放的时候都会支持横屏,这样做的好处就是便于观看.你的项目中支持横屏吗?我们一起了解一下,在iOS9中横竖屏设置的处理方法吧! 支持横竖屏配置 在iOS6以后,如果APP需要支持横 ...
- screen-Orientation 横竖屏设置
1.xml中设置,这个主要是在AndroidManifest.xml 中查找activity,然后在里面设置属性,如下 <application android:label="@str ...
- iTOP4418开发板7寸屏幕Android系统下横竖屏设置
Android系统屏幕旋转设置 平台: iTOP4418开发板+7寸屏幕 1. Androd4.4源码可以编译成手机模式和平板模式,讯为iTop4418 开发平台的Android系统默认编译为平板模式 ...
- Mac 系统下cocos2dx 环境变量设置
Mac 系统环境变量设置 vim ~/.bash_profile export PATH=$PATH:/Users/wangchengcheng/Downloads/LearningSoft ...
- react native 添加第三方插件react-native-orientation(横竖屏设置功能 android)
Installation 1.install rnpm Run npm install -g rnpm 2.via rnpm Run rnpm install react-native-orien ...
- Android Activity 常用功能设置(全屏、横竖屏等)
Activity全屏设置 方式1:AndroidManifest.xml <activity android:name="myAcitivty" android:theme ...
- Android APP 简单高效的禁用横竖屏切换
默认情况下,Android APP的界面会随着手机方向的改变而改变,当手机处于竖屏状态,APP的界面也处于竖屏状态,而当手机处于横屏状态,APP也会自动切换到横屏状态.一般情况下APP的界面都是为竖屏 ...
- Activity 横竖屏切换
前言 在开发中常要处理横竖屏切换,怎么处理先看生命周期 申明 Activity 横竖屏切换时需要回调两个函数 ,所以在此将这个两个函数暂时看成是Activity 横竖屏切换的生命周期的一部分,这两个函 ...
- Android layout的横竖屏处理
一.layout-land和layout-prot的区别与使用 默认情况下,创建的Android项目里只有一个layout文件夹,尽管这样也可以横竖屏切换用,但是某些布局横屏过后闲的格外的丑,如下图 ...
随机推荐
- ztree使用心得
一个很好用的Jquery树形控件 官网:http://www.ztree.me/v3/main.php#_zTreeInfo 我主要引用的文件为: //最新版的JS压缩包 <script src ...
- innobackupex的备份和恢复
http://blog.itpub.net/15480802/viewspace-1173479/ 1 原理 分3个阶段:备份backup – 预恢复prepare -- 恢复restore 注 ...
- 如何快速检查js语法学习Javascript
这里给大家推荐一个快速进行语法检查的方法,可以发现绝大多数语法错误,也可以作为在线编辑器,提高编程效率. 地址:http://www.jslint.com/ 同时推荐一个在线学习Javascript的 ...
- 分享十个CSS3鼠标滑过文字动画特效
介绍10组基于CSS3的鼠标滑过文字动画特效,有上凸.下凹等文字动画.这些炫酷的CSS3文字效果可以让网页变得更加绚丽.效果图如下: 在线预览 源码下载 实现的代码. html代码: <h2 ...
- tachyon with hadoop
hadoop2.2.0 jdk1.7 tachyon0.5.0 无zookeeper tachyon和hadoop都是伪分布式模式 1.修改core-site.xml文件 <property&g ...
- 减肥App计划
写在前面 最近公司需求不多,正好研究一下 App 瘦身的办法,写了点小总结. 如果你不知道下面几个问题,不妨可以看看文章. 使用 .xcassets 有什么好处? @1x .@2x 和 @3x 会 ...
- JSON3-翻译(不当之处,请指正)
http://bestiejs.github.io/json3/JSON 3 显示了两个功能:stringify():序列化一个javaScript值为一个JSON,和parse():将一个json字 ...
- dispatch_group_async可以实现监听一组任务是否完成,完成后得到通知执行其他的操作。这个方法很有用,比如你执行三个下载任务,当三个任务都下载完成后你才通知界面说完成的了
dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ); dispatch_group_ ...
- 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 ...
- jq使用手册
jq 使用手册 翻译整理:Young.J 官方网站:http://jquery.com jQuery是一款同prototype一样优秀js开发库类,特别是对css和XPath的支持,使我们写 ...