`
61party
  • 浏览: 1101321 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

利用controller使cocos2d自动支持180度旋转

 
阅读更多

iPad程序有一条不成文的规定:所有app必须支持屏幕旋转,至少支持180度旋转,仅仅支持一个方向的app将被无情拒绝。

目前cocos2d已经支持iPad开发,却并不支持屏幕旋转。

下面我们就利用UIController的自动旋转特性,让cocos2d支持180度旋转:

1。创建controller,且叫做TransController吧,内容如下

#import <UIKit/UIKit.h>

#define LANDSCAPE_MODE YES

@interface TransController : UIViewController {

}

@end

#import "TransController.h"

@implementation TransController

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

// Overriden to allow any orientation.

if (LANDSCAPE_MODE){

if (interfaceOrientation == UIDeviceOrientationLandscapeLeft||interfaceOrientation == UIDeviceOrientationLandscapeRight) {

return YES;

}

}else {

if (interfaceOrientation == UIDeviceOrientationPortrait||interfaceOrientation == UIDeviceOrientationPortraitUpsideDown) {

return YES;

}

}

return NO;

}

- (void)didReceiveMemoryWarning {

// Releases the view if it doesn't have a superview.

[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.

}

- (void)viewDidUnload {

[super viewDidUnload];

// Release any retained subviews of the main view.

// e.g. self.myOutlet = nil;

}

- (void)dealloc {

[super dealloc];

}

@end

#define LANDSCAPE_MODE YES 用来设定app的横竖屏模式

2。修改appdelegate

无论程序是横/竖,setDeviceOrientation都为竖屏,方向总是相对的,呵呵,即总是:

[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationPortrait];

TransController *tc = [[TransController alloc] init];

tc.view.frame = window.frame;

[window addSubview:tc.view];

[[CCDirector sharedDirector] attachInView:tc.view];

tc无需释放(因为没有意义),也不可以释放(释放后将不能旋转),如果你喜欢释放的话,就在.h中定义然后dealloc中去release吧。

分享到:
评论

相关推荐

    cocos2d-x-cocos2d-x-2.2.2.zip

    在cocos2d-x 2.2.2中,开发者可以利用C++语言进行编程,同时也支持Lua和JavaScript作为脚本语言,这大大增加了开发的灵活性。C++的性能优势结合脚本语言的易用性,使得游戏的开发过程既高效又便捷。同时,cocos2d-x...

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d3D扑克翻牌特效

    4. 翻转结束:当旋转角度达到180度时,扑克牌完成翻转,正面朝上。 五、光照与阴影 为了增强3D效果,可以添加光照和阴影处理。通过设置光源的位置和属性,调整物体表面的反射和阴影,使翻牌更具有立体感。 六、...

    cocos2d-x-3.13.1 spine3.6.zip

    这次Cocos2d-x 3.13.1与Spine 3.6的整合,意味着开发者可以利用Spine的强大功能,为游戏带来更生动的角色动作和更丰富的视觉效果。 首先,我们需要了解Cocos2d-x与Spine的集成过程。在Cocos2d-x项目中,你需要将...

    Cocos2d-JS游戏开发

    Cocos2d-JS是一款强大的2D游戏开发框架,它结合了JavaScript的灵活性与Cocos2d-x的高效性能,让开发者能够轻松地创建跨平台的游戏。本篇将深入探讨Cocos2d-JS的游戏开发知识,从基础到进阶,帮助你掌握这一利器。 ...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    《Cocos2d-x实战 JS卷 Cocos2d-JS开发》是一本深入探讨Cocos2d-x游戏引擎JavaScript版本使用的专业书籍。Cocos2d-x是全球范围内广泛采用的游戏开发框架,尤其适用于2D游戏的制作,而Cocos2d-JS则是其JavaScript接口...

    cocos2d-x 3.0

    cocos2d-x 3.0是cocos2d-x系列的一个重要升级,它基于C++编写,支持跨平台开发,包括iOS、Android、Windows等多个操作系统。该版本引入了新的渲染系统、性能提升、新的动画系统以及更友好的API,极大地提高了开发...

    cocos2d游戏引擎

    3. **Actions和Transitions**:cocos2d提供了一系列动作和过渡效果,如移动、旋转、缩放、淡入淡出等,使开发者能够轻松创建丰富的动画效果。 4. **Tiled Map**:支持TMX格式的Tiled地图编辑器,允许开发者创建复杂...

    cocos2d-android.jar.zip_CoCos2d_android jar_android game_cocos2d

    cocos2d-android游戏引擎是著名游戏引擎cocos2d游戏引擎的Android版。cocos2d-android游戏引擎性能优越、易学、可以进行纯java编程、具有极高的研 究价值、大大的降低了开发者的学习成本。您只需要一台普通配置的...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    4. **Action系统**:cocos2d-x的动作系统允许开发者轻松实现物体的移动、旋转、缩放等效果,极大地简化了动画制作。 5. **Scene和Layer**:通过Scene和Layer的概念,可以组织游戏的场景和层次结构,方便管理游戏...

    cocos2d-x 双指缩放,单指拖动,双击自动放大地图

    下面将详细讲解如何利用Cocos2d-x库来实现这些功能。 一、双指缩放 双指缩放是通过检测两个触点(手指)之间的距离变化来实现的。首先,我们需要在`Cocos2d-x`项目中设置触摸事件监听器,以便捕获用户的触摸动作。...

    cocos2d-x-3.1.zip

    1. **跨平台支持**:Cocos2d-x 3.1支持多种操作系统和设备,包括iOS、Android、Windows、Mac、Linux等,使得开发者可以编写一次代码,到处运行。 2. **C++基础**:Cocos2d-x主要采用C++作为编程语言,同时也支持Lua...

    cocos2d-android jar包全套.zip

    在开发过程中,你可以利用Cocos2d提供的各种组件,如`CCScene`(场景)、`CCSprite`(精灵)、`CCLabel`(文本标签)等,创建游戏对象和交互逻辑。同时,别忘了Cocos2d支持事件处理,如触摸事件和键盘事件,这使得...

    Cocos2d-x实战C++卷关东升著完整版pdf

    本书以C++语言为主要编程工具,详细介绍了如何利用Cocos2d-x进行游戏开发。 首先,Cocos2d-x的基础知识是必须掌握的。Cocos2d-x基于C++,但也支持Lua和JavaScript,但本书主要关注C++的使用。C++作为一门强大的系统...

    cocos2d的学习资料

    Cocos2d是一款广泛应用于游戏开发、图形界面和2D应用程序的开源框架,它支持多种编程语言,包括Python(cocos2d),Objective-C(cocos2d-objc)以及C++(cocos2d-x)。这篇学习资料是针对cocos2d/x,特别是cocos2d-...

    Cocos2d-x实战:C++卷(2版)源代码

    3. **动作(Actions)与效果**:Cocos2d-x的动作系统允许开发者对游戏对象施加各种效果,如移动、旋转、缩放、淡入淡出等,实现丰富的视觉表现。 4. **物理引擎集成**:可能包含Box2D或Chipmunk等物理引擎的集成,...

    cocos2d-iphone-2.0.tar.gz

    3. **Action和Effects**:Cocos2d-iPhone提供了一系列动作和效果类,如移动、旋转、缩放、淡入淡出等,方便开发者快速创建复杂的动画序列。 4. **Scene Management**:通过CCDirector和CCScene类,开发者可以轻松...

    cocos2d-x json字符串与cocos2d::Value转换工具

    该资源主要用于cocos2d-x中Value与json字符串的相互转换,提供从json文件读取为cocos2d::Value,cocos2d::Value写入到文件,cocos2d::Value转换为json字符串,json字符串转换为cocos2d::Value。json字符串转换成cocos...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    同时,Cocos2d-x集成了Box2D物理引擎,使开发者能轻松实现物理效果,如碰撞检测、重力模拟等。 游戏中的音频管理也是不可或缺的一环。本书会介绍Cocos2d-x的音频API,包括音乐播放、音效处理以及音效资源的加载和...

    cocos2d-iphone~cocos2d-html5移植之旅

    选择cocos2d-html5进行移植,主要得益于cocos2d-x的强大支持。对于有cocos2d-iphone经验的开发者来说,转向cocos2d-html5相对容易,因为它保留了许多相似的API和开发流程。这种迁移路径降低了学习成本,使得开发者...

Global site tag (gtag.js) - Google Analytics