iPhone开发之游戏篇(1) — cocos2d的基本概念
iPhone开发之游戏篇(1) --- cocos2d的基本概念
这里主要是翻译 cocos2d wiki 中的文档,也参考了其他博文。主要是作为基础知识作为这个系列的开始。
Scenes 场景
场景是被一个Scene 对象实现的,或多或少的,是一个独立的程序流的一部分。一些人可把它称作是screens屏幕,或者是stages舞台。你的程序可以有很多场景,但是只有一个可以在给定的时间内的被激活的。
例如,你可能有一个游戏,它有如下的场景。Intro, Menu, Level 1, Cutscene 1, Level 2, Winning cutscene, losing cutscene, High scores screen
你可以定义他们中的任何一个作为独立的应用,下面每一个场景之间通过一条线相连接。
一个cocos2d由一个或者多个层组成(层是用Layer对象实现的),他们堆在了一起。层给了场景一个展示和表现,最简单的操作就是创建一个有层的场景概念。一些场景类的集合叫做transitions,是通过TransitionScene 对象来实现的,他允许你可以在两个场景之间回滚。例如fade out/in,从一个面滑动的等。因为场景是CocosNode的子类,所以说他们可以通过手动或者使用actions的方式被改变。
Director 指导者
指导者可以是一个组件,他可以知道场景向前和向后。指导者是一个共享的,单件对象,他知道当前哪一个场景应该是active的,他可以处理栈里面的一系列场景,就像scene calls,暂停一个Scene和,把它存起来,然后其他场景进入,回退到开始。。当一个层需要去push,替换,或者是在当前场景的末尾,这个指导者是真正能够改变场景的人。指导者同样会对主屏幕的初始化负责。
Layers 层
Layer有整个屏幕这个大的可画的区域,并且他知道怎么画。它可以部分透明(有一个洞或者整个/全部之中的一般透明),允许看到它下面的其他层。层就是定义展示和表现的,所以你编程的更多时间是花在的层的子类上了。
你可以在层上定义事件的handlers,事件在层上从头到尾的延伸,直到某个层捕捉到了事件,并且接受了它。虽然很多的程序需要你自己定义自定义的层类,cocos2d提供了一个非常好的预定义层的library。
例如简单的menu 层使用Menu,一个color层,用ColorLayer,定义一个多层的Layer,等等。Layer可以包含Sprite对象,Label对象,甚至让其他的Layer对象当作起事件。因为层也是CocosNode的子类,你可以通过手动或者使用Action使其改变。See Actions for more detail about actions.
Sprites 精灵
精灵的实现是通过Sprite类,他们可以有很多子精灵,当一个父精灵变化的时候,它的子精灵也将会改变。
因为精灵的子类是cocosNode,所以他们可以被手动的或者使用actions来改变。更多的细节就关注Action吧。
相关文章
- iPhone开发之深入浅出 (3) --- ARC之前世今生 - (2012-02-19)
- iPhone开发之深入浅出 (2) --- ARC之@property使用 - (2012-01-04)
- iPhone开发之深入浅出 (1) --- ARC是什么 - (2012-01-01)
- iPhone开发技巧之调试篇(3)--- 程序Crash后的调试技巧 - (2011-11-06)
- iPhone开发之游戏篇(3)--- cocos2d的Actions构成 - (2010-07-05)
- iPhone开发之游戏篇(2) --- cocos2d的Actions - (2010-07-03)
- iPhone开发进阶(11)--- 多线程的使用与注意事项 - (2010-03-09)
- iPhone开发进阶(10)--- 在程序中使用 GPS - (2010-03-07)
- iPhone开发进阶(9)--- 用SQLite管理数据库 - (2010-03-06)
- iPhone开发进阶(8)--- 检测屏幕触摸事件 - (2010-03-04)
- iPhone开发进阶(7)--- 利用ModalViewController切换View - (2010-03-02)
- iPhone开发进阶(6)--- 编程定制UIButton - (2010-02-27)
- iPhone开发进阶(5) --- 编程定制UIViewController - (2010-02-25)
- iPhone开发进阶(4) --- 使用Makefile自动编译iPhone程序 - (2010-02-23)
- iPhone开发进阶(3) --- iPhone应用程序的启动过程 - (2010-02-21)
- iPhone开发进阶(2) --- iPhone应用程序/项目的构成 - (2010-02-19)
- iPhone开发进阶(1) --- 深入理解iPhone OS/SDK与Objective-C 2.0 - (2010-02-17)
- iPhone、Android、Symbian … 移动设备应用程序开发的趋势与对策 - (2010-02-14)
- 使用org-mode来GTD(3)--- iPhone中使用org-mode - (2010-02-06)
- iPhone开发入门(11)--- 在App Store上发布程序 - (2010-01-21)
- iPhone开发入门(10)--- 设备上运行程序 - (2010-01-19)
- iPhone开发入门(9)--- 实际开发中的应用技巧 - (2010-01-16)
- iPhone开发入门(8)--- 程序画面与控件调整 - (2010-01-05)
- iPhone开发入门(7)--- 从C/C++语言到Objective-C语言 - (2009-12-31)
- iPhone开发入门(6)--- Action与Objective-C - (2009-12-19)


2010年07月01日
您好,经常关注您的博客,写得非常好啊