cocos2d学习之CCDirector

CoCos2d_android入门所需知道的一切 用Cocos2d_android开发植物大战僵尸,所需要知道的知识。 阅读详情

CCDirector类用来管理程序的主窗口以及在什么时候、如何执行Scenes.(Scene是场景,cocos2d中另外一个很重要的概念)

CCDirector也负责初始化OpenGL ES 上下文,设置OpenGL像素格式化(默认是RGB565),设置OpenGL缓冲深度(默认是0字节),设置投影(默认是3D).

CCDirector是一个单例类,它的标准使用方法是:[[CCDirector sharedDirector] methodName].

CCDirector的一些属性:

@property (unsafe_unretained, readonly, nonatomic) NSThread *runningThread//返回cocos2d thread,你所要执行任何的task,都得在该线程中运行。典型的说该线程就是主线程。

@property (nonatomic, readonly) CCScene *runningScene//当前正在运行的场景,CCDirector一次只能运行一个Scene

@property (nonatomic, readwrite, assign) CCTime animationInterval//FPS的值   FPS指的是Frames Per Second,即每秒填充图像的帧数

@property (nonatomic, readwrite, assign) BOOL displayStats//是否显示导演的统计数字(精灵的个数)

@property (nonatomic, readwrite, assign, getter=isNextDeltaTimeZero) BOOL nextDeltaTimeZero//是否下个时间增量为0

@property (nonatomic, readonly, getter=isPaused) BOOL paused//导演是否暂停

@property (nonatomic, readonly, getter=isAnimating) BOOL animating//导演是否活动的(active)

@property (nonatomic, readwrite) CCDirectorProjection projection//设置OpenGL的投影

@property (nonatomic, readonly) NSUInteger totalFrames//导演开始的时候总帧数

@property (nonatomic, readonly) CCTime secondsPerFrame//渲染一帧花费多少秒

@property (nonatomic, strong) CCResponderManager *responderManager//设置触摸的管理者和响应者

@property (nonatomic, readwrite, unsafe_unretained) id<CCDirectorDelegate> delegate//CCDirector的委托,实现了CCDirectorDelegate协议  该协议等会说。

@property (nonatomic, assign) CGFloat contentScaleFactor//内容缩放因子。设置Cocos2D从点到像素的比例。默认值是导演初始GLView的内容缩放值

@property (nonatomic, readwrite, assign) float UIScaleFactor//UI缩放因子。默认值是1,如果位置类型设置为缩放(scale),那么位置和尺寸大小将同时受该因子的影响

@property (nonatomic, assign) CGSize designSize//用户设置节点的尺寸,默认和当前view尺寸一致


CCDirector的方法

+ (CCDirector *)sharedDirector//类方法,返回CCDirector的单例

- (CGSize)viewSize//返回OpenGL 视图在点坐标系中的尺寸

- (CGSize)viewSizeInPixels//返回OpenGL 视图在像素坐标系中的尺寸

- (void)reshapeProjection:(CGSize)newWindowSize//改变投影(projection)的尺寸

- (CGPoint)convertToGL:(CGPoint)p//将UIKit坐标转成OpenGL的坐标

- (CGPoint)convertToUI:(CGPoint)p//将OpenGL坐标转成UIKit的坐标

- (void)presentScene:(CCScene *)scene//显示新的场景

- (void)presentScene:(CCScene *)scene withTransition:(CCTransition *)transition//显示新的场景,并伴随动画

- (void)runWithScene:(CCScene *)scene//将某场景插入导演的主环路中

- (void)pushScene:(CCScene *)scene//挂起正在执行的场景,将新场景推到栈顶,作为正在运行的场景。避免推入过多的场景以减少内存压力。必须是在有正在运行的场景的时候才能调用该方法

- (void)popScene//从栈上弹出一个场景代替正在运行的场景,正在运行的场景将会删除。如果栈中没有更多场景的话,操作将会终止。必须是在有正在运行的场景的时候才能调用该方法

- (void)popToRootScene//弹出所有在堆栈序列中的场景,直到根场景出现。根场景将会代替正在运行的场景。将会调用popToSceneStackLevel:1方法

- (void)replaceScene:(CCScene *)scene//用新场景代替正在运行的场景,正在运行的场景将会终止

- (void)replaceScene:(CCScene *)scene withTransition:(CCTransition *)transition//用新场景代替正在运行的场景,并伴随动画

- (void)pushScene:(CCScene *)scene withTransition:(CCTransition *)transition//推入新场景,并伴随动画

- (void)popSceneWithTransition:(CCTransition *)transition//用最后推入堆栈的场景代替正在运行的场景,并伴随动画

- (void)end//终结执行,释放正在运行的场景,这个操作将不会把Open View从父视图中移除,这需要你手动调用

- (void)pause//暂停正在运行的场景,正在运行的场景将会被重画。但是所有运行计划将会被暂停。重画将会以每秒4帧的速率进行,以减少CPU的消耗

- (void)resume//继续被暂停的场景 运行计划重新激活 时间增量清零

- (void)stopAnimation//暂停动画 什么东西都不会被画 主环路不在被触发

- (void)startAnimation//开始动画  主环路被触发  只有调用上一个方法后,这个方法才需要调用

- (CCGLView *)view//返回OpenGL 视图

- (void)purgeCachedData//清除所有cocos2d自动缓存的数据 将会清除CCTextureCache, CCLabelBMFont cache。CCSpriteFrameCache将不会被清除,除非你手动清除。

- (void)setGLDefaultValues//设置OpenGL默认值

- (void)setAlphaBlending:(BOOL)on//是否允许OpenGL 透明度混合

- (void)setDepthTest:(BOOL)on//是否允许深度测试

CCDirectorDelegate里声明了三个方法:

@optional

-(GLKMatrix4) updateProjection;//修改投影

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation//是否支持旋转

-(void) directorDidReshapeProjection:(CCDirector*)director;//投影重新设置尺寸时调用

从上面的属性和方法可以看出,CCDirector主要职责是管理场景的切换,暂停,继续,游戏参数设定,同时也负责和openGL 打交道。







DMA882-CAN【驱动器】站127 参数来自EDS文件。 阅读详情

相关推荐

TMS320F280039 CMD文件配置避坑指南:从.map文件看懂内存分配与溢出排查

本文详细解析了TMS320F280039芯片的CMD文件配置问题,通过.map文件分析内存分配与溢出排查。文章提供了实用的诊断技巧和解决方案,帮助开发者有效应对段溢出、地址重叠和栈堆冲突等常见问题,优化DSP程序的内存管理。

weixin_29168813的博客 441

FastDFS的作者介绍的防盗链 使用FastDFS的内置防盗链功能

FastDFS内置防盗链采用Token的方式。 token是带时效的,包含了文件ID、时间戳ts和密钥。 在设定的时间范围内,比如5分钟内,token是有效的。 FastDFS在URL中带上当前时间戳和带时效的token,参数名分别为ts和token。 FastDFS API中提供了生成token的算法,扩展模块中会对token进行检验。 token的生成和检验都在服务器端,因此不会

ystyaoshengting的专栏 6028

吉林大学软件工程章节测验 第九章 答案+解析

4.【判断题】估算软件规模有代码行技术和功能点技术两种方法,其中代码行方法估计实现一个功能所需要的源程序行数,其不依赖项目所使用的开发语言,并且具有较好的直观性。3.【单选题】软件项目估算时,若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出功能点估计值,记作a, m, b,则估算的期望值E的公式为( )。8.【判断题】在工程网络图中,如果在由起始事件至终止事件所构成的一条路径上,所有事件的最早时刻都和最迟时刻都相同,那么这条路径就是关键路径。4.【单选题】配置管理贯穿软件开发的整个过程。

m0_51459931的博客 1427

signature=095ed28e83b68620637b3a67436b0f8f,SMB 3.1.1 Encryption in Windows 10

SMB 3.1.1 Encryption in Windows 1009/09/201513 分钟可看完本文内容SMB 3 encryption offers data packet confidentiality and prevents an attacker from both tampering with and eavesdropping on any data packet. Encr...

weixin_39914975的博客 5426

时间序列:R语言ARMA-GARCH模型

ARMA: #读入数据,并绘制时序图 d<-read.table("C:/Users/haha/Desktop/R/zuoye/1.txt") x<-ts(log(d),start = 1) 1: x的时间序列图: x<-ts(log(d),start = 1) plot(x) 2: 从上图可以看出x.dif序列值在0的附近波动,没...

1万+

华为OD机试2025C卷真题题库目录|机考题库 + 算法考点详解

本文整理华为OD 2025C卷 机试(机考)题库,提供高频考点精析与详细题目内容,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 3982

atom php psr4,JalanJiang.github.io/atom.xml at 3d84df7529f5333688630982157cbd4c189cc2ab · JalanJiang...

薯条是? Incorrect Password!No content to display!U2FsdGVkX19pz2M5kZnajFbM4R5GyeFvygUExOjUl3aObmdwbezxQikBlONOFs0jVrSqujK5XgCzyM5Un9DtzW1mmKjZWKLUdjqxPDpDaDScv9T1HC7xHyZ6BnwobutD8FvhbhVM+gVGcgG...

weixin_29214559的博客 24万+

量子编程专业权威教程(十四):Shor 算法

本文系统阐述了Shor算法的原理与实现,重点解析了将大数分解问题转化为周期寻找问题的数论基础,以及模幂运算量子电路的设计方法。通过以N=15为例的完整算法流程演示,展示了量子计算在因数分解问题上的指数级优势。文章详细拆解了受控幺正操作构建、量子傅里叶变换应用等关键技术环节,并提供了可复现的Qiskit代码实现。同时指出了当前量子硬件在比特数、相干时间和错误率等方面面临的工程挑战,这些限制使得分解大整数仍需长期技术突破。该研究为理解量子计算优势提供了典型范例,对后量子密码学发展具有重要启示意义。

分享知识,拥抱变化 797

Codeforces Round 882 (Div. 2)(视频讲解A——D)

Codeforces Round 882 (Div. 2)(视频讲解A——D)

Turing_Sheep的博客 1067

【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅰ——理论,实验拓扑和安装基于RemoteAPP的RDS

博客介绍了Windows Server中远程桌面服务的理论,实验拓扑以及基于RemoteAPP的RDS安装。博文介绍了如何在Windows Server上部署发布服务器。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 6128

【vsomeip3 教程】基于 vSomeIP 3.5 的路由域实践:从配置到运行状态的完整指南

___ > 前言(读者定位与准备) 目标读者:在 Linux 上做分布式/车载中间件通信的 C++ 工程师。 > 先决条件:CMake、Boost 基础;理解 TCP/UDP 与多进程通信。 > 文中术语:Routing Host(路由进程)、Application、Service/Instance、Method、Event/EventGroup、SOME/IP-SD。 > 演示环境:单机多进程 & 跨主机两套对照。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1159

cocos2d-x学习之CCDirector

介绍 CCDirector类对应cocos2d-x引擎里的导演,整个游戏里只有一个导演,游戏开始和结束时都需要调用CCDirector的方法完成游戏初始化或者销毁的工作。 cocos2d-x引擎里面除了提供CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDirector. 类结构图

1017

ADS基础教程19 - 电磁仿真(EM)基本概念和实操

一、引言二、基本概念1.EM介绍2.Momentum介绍3.FEM介绍4.Substrate介绍三、创建Layout并进行Momentum仿真1.创建Layout2.添加Microtrip(微带线)3.添加Substrate4.Momentum仿真四、总结EM全称Electromagnetic,即electro(电)magnetic(磁)。ADS为设计和评估现代通信系统产品提供了电磁仿真工具(EM)。EM包括Momentumsimulator(动量仿真器)和FEM。

XZ_ZC的博客 1万+

cocos2d-X学习之主要类介绍:CCDirector

在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象 Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDdirector。 CCDirector主要函数如下: CCScene *  g

Y.Light的专栏 575

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Cocos2D-x学习:核心类----CCDirector

CCDirector,是一个导演类。一个游戏中,只能有一个导演类。 所以导演类的方法调用如下 CCDirector::sharedDirector()->方法名 1. 主要是用来创建游戏,销毁游戏。 2. 切换场景 3. 设置OpenGL 4. 设置游戏一些细节。 bool AppDelegate::applicationDidFinishLaunching()

284

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

(转)cocos2d-X学习之主要类介绍:CCDirector

cocos2d-X学习之主要类介绍:CCDirector 在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象 Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDdirect

gxj1680的专栏 708

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

(转载)cocos2d-X学习之主要类介绍:CCDirector

转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572220.html                              感谢原作者的幸苦劳动。         在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象      图示为继承关系图,最底层的父类为

志汉天涯~!~Day Day Up~ 1257

Cocos2d-x学习笔记(四)之 导演类CCDirector

  今天来学习cocos2d-x中非常重要的一个类,它管理整个游戏的开始、结束、暂停等,可以说它就是我们游戏的总指挥,那么它就是我们的导演类CCDirector。下面让我们一起来学习一下导演类CCDirector。   CCDirector类是Cocos2d-x游戏引擎的核心,它用来创建并且控制着主屏幕的显示,同时控制场景的显示时间和显示方式。在整个游戏里一般只有一个导演。游戏的开始、结束、暂停...

weixin_30549175的博客 151

cocos2d-x 学习笔记(2)cocos2d-x重要概念,项目结构及 CCDirector 导演控件

cocos2d-x 学习笔记(2)cocos2d-x重要概念及项目结构 在cocos2d引擎中,有几个概念,分别是导演,场景,布景和人物角色。 导演(CCDirector)在cocos2d-x引擎中,导演类是游戏的组织者和领导者,导演制定规则让游戏内的场景,布景,和人物角色有序的运行 摄像机(CCCamera),每个节点都需要使用摄像机,当节点发生缩放,旋转,和位

u011261250的专栏 962

【Cocos2d-X开发学习笔记】第03期:渲染框架之导演类(CCDirector)的使用

提到“导演”一词,想必读者最先联想到的是电影。作为娱乐产业,游戏领域和电影领域有很多类似之处,比如 在游戏领域中,也存在制作人的职位。不过,此时提及的“导演”可不是一个人,而是在渲染框架中,有一个类充当 着导演的角色。在开始介绍Cocos2D-X引擎中的“导演”之前,请大家先想想在电影行业中的导演,通常在一部电影 中承担怎样的工作。   一、导演类            CCDire

我是一条寻水的鱼 3112

Cocos2d-x基本概念整理(一)

场景构建模型 这是Cocos2d-x的场景构建模型(借用了《Cocos2d-x手机游戏开发》一书的插图)。 导演对应CCDirector类 场景对应CCScene类 背景对应CCLayer类 人物角色对应CCSprite类 动作对应CCAction类 摄像机对应CCCamera类,不过实际编程的时候好像可以忽略摄像机的存在。 接触多了你会发现其实所有的绘图框架都很像,比如Fla

guinao的专栏 2187

从cocos2d-x看设计模式::单例模式

cocos2d-x是一个开源的跨平台游戏引擎,csdn上有很多很好的学习资料分享,这里便不详细讲述。 开源的引擎有很多的好处,其中之一就是可以个人对引擎进行修改,增添适合的特性和功能,增强独特性。这样就不会出现同一引擎做出来的游戏都是相仿的窘况。但是要对引擎进行修改,当然首先要深入学习一下引擎的内部功能。这又可以引出开源的另一个好处,我们可以通过浏览引擎的源代码,学习别人的优点。 因为

Marcus的博客 1569
上一篇: ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法
下一篇: cocos2d学习之CCAppDelegate
yesjava
博客等级 码龄19年 69粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值