仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4365|回复: 18
打印 上一主题 下一主题

[学习教程] IOS制作之cocos2d-iphone源码剖析(2):Director仓酷云

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:37:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
视图是仪表盘模型是发动机控制器是控制芯片CoreData---管理数据OBJC刚学的时候觉得CD很高深其实他是最容易用的库之一简介

CCDirector卖力创立和处置主窗口,和办理场景的的实行。同时卖力:


  • 初始化OpenGLES的context
  • 设置OpenGL像素格局(默许是RGB565)
  • 设置OpenGL缓冲深度(默许是0-bit)
  • 设置投影形式(默许是3D)
CCDirector一样平常作为单件利用,尺度用法是:[[CCDirectorsharedDirector]methodName]。IOS下[CCDirectorsharedDirector]前往的对象是CCDirectorDisplayLink。
CCDirector承继自UIViewController。CDirector是端的引擎的中心,它把持全部运转历程。一样平常初始化代码以下:
  1. //MainWindowwindow_=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];//Directordirector_=(CCDirectorIOS*)[CCDirectorsharedDirector];[director_setDisplayStats:NO];[director_setAnimationInterval:1.0/60];//GLViewCCGLView*__glView=[CCGLViewviewWithFrame:[window_bounds]pixelFormat:kEAGLColorFormatRGB565depthFormat:0/*GL_DEPTH_COMPONENT24_OES*/preserveBackbuffer:NOsharegroup:nilmultiSampling:NOnumberOfSamples:0];[director_setView:__glView];[director_setDelegate:self];director_.wantsFullScreenLayout=YES;//RetinaDisplay?[director_enableRetinaDisplay:useRetinaDisplay_];//NavigationControllernavController_=[[UINavigationControlleralloc]initWithRootViewController:director_];navController_.navigationBarHidden=YES;//AddSubViewdoesntworkoniOS6[window_addSubview:navController_.view];//[window_setRootViewController:navController_];[window_makeKeyAndVisible];//createthemainsceneCCScene*scene=[CCScenenode];....//andrunit![director_pushScene:scene];
复制代码
初始化流程:
1.director_=(CCDirectorIOS*)[CCDirectorsharedDirector];
[CCDirectorsharedDirector]前往的对象是CCDirectorDisplayLink,创立CCScheduler(调剂器)、CActionManager(举措办理器)、CCTouchDispatcher(触摸事务处置器),并把创立的举措办理器到场调剂器,然后调剂器就在工夫片离挪用CActionManager相干办法。(相干文件:CCDirector.m,CCDirectorIOS.m)
2.[director_setAnimationInterval:1.0/60];设置FPS。
3.初始化GLView,为衬着筹办一个视图。
3.[director_setView:__glView];
[director_setDelegate:self];
Director是承继于UIViewController,设置视图和代办署理者。
4.CCScene*scene=[CCScenenode];
创立主场景。
5[director_pushScene:scene];
把主场景推进场景仓库,并实行。
义务



  • MemoryHelper:利用purgeCacheData办法,能够主动扫除一切cocos2d缓存的数据
  • SceneOpenGLHelper:能够设置OpenGL的Alpha夹杂和深度检测(setAlphaBlending、setDethTest)
  • DirectorIntegrationwithaUIKitview:
  • DirectorSceneLandscape:场景结构
  • DirectorSceneManagement:办理场景(runWithscene,pushScene,popScene,replaceScene,end,pause,resume,stopAnimation,startAnimation,drawScene)
属性



  • runningThread:cocos2d线程
  • runningScene:以后正在运转的场景,cocos2d一次只能运转一个场景
  • animationInterval:FPS
  • displayStats:把持是不是显现一些统计信息
  • isPaused:把持Director是不是停息
  • isAnimating:把持Director是不是运转
  • projection:设置OpenGL的投影
  • totalFrames:从Director入手下手运转,实行的帧数
  • secondsPerFrame:每帧用时
  • deltegate:完成CDirectorDelegate协定的代办署理对象
  • scheduler:调剂器
  • actionManager:举措办理器
  • touchDispatcher:用户触摸操纵的处置器
检察更多相干代码:test/DirectorTest.m

由于封闭文档写的相当好在遇到新框架的时候弄明白框架的功能去文档里搜搜框架的ProgrammingGuide很有用要弄明白框架类的继承结构写iOS的程序不一定都是用OBJC
小魔女 该用户已被删除
沙发
发表于 2015-1-21 11:19:14 | 只看该作者
看完这个你就可以有多种选择来踏入做应用的阶段
若相依 该用户已被删除
板凳
 楼主| 发表于 2015-1-30 17:01:03 | 只看该作者
众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。
蒙在股里 该用户已被删除
地板
发表于 2015-2-4 22:37:17 | 只看该作者
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
山那边是海 该用户已被删除
5#
发表于 2015-2-6 17:39:21 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
透明 该用户已被删除
6#
发表于 2015-2-8 00:19:02 | 只看该作者
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
飘灵儿 该用户已被删除
7#
发表于 2015-3-4 10:53:46 | 只看该作者
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
莫相离 该用户已被删除
8#
发表于 2015-3-11 11:52:51 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
深爱那片海 该用户已被删除
9#
发表于 2015-3-14 00:21:46 | 只看该作者
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
第二个灵魂 该用户已被删除
10#
发表于 2015-3-17 01:07:56 | 只看该作者
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-23 10:18:58 | 只看该作者
开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦
老尸 该用户已被删除
12#
发表于 2015-4-15 22:04:38 | 只看该作者
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
若天明 该用户已被删除
13#
发表于 2015-5-6 01:11:40 | 只看该作者
down下code4app网站的每个分类的代码挨着看
活着的死人 该用户已被删除
14#
发表于 2015-5-6 21:11:10 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
兰色精灵 该用户已被删除
15#
发表于 2015-6-13 21:16:37 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
乐观 该用户已被删除
16#
发表于 2015-7-12 09:06:08 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
不帅 该用户已被删除
17#
发表于 2015-7-29 01:33:08 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
小妖女 该用户已被删除
18#
发表于 2015-9-24 20:25:16 | 只看该作者
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
金色的骷髅 该用户已被删除
19#
发表于 2015-9-28 20:13:09 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-28 17:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表