iPhone游戏开发之Cocos2d基本概念

移动开发 iOS 游戏开发
本文介绍的iPhone游戏开发Cocos2d的基本概念,作为iphone开发者应该对游戏开发这块很有兴趣,那么本文来介绍Cocos2d的应用,来看内容。

iPhone游戏开发Cocos2d基本概念是本文要介绍的内容,这里主要是翻译 cocos2d wiki 中的文档,也参考了其他博文。主要是作为基础知识作为这个系列的开始,来看详细内容。

Scenes 场景

场景是被一个Scene 对象实现的,或多或少的,是一个独立的程序流的一部分。一些人可把它称作是screens屏幕,或者是stages舞台。你的程序可以有很多场景,但是只有一个可以在给定的时间内的被激活的。

例如,你可能有一个游戏,它有如下的场景。

  1. Intro, Menu, Level 1, Cutscene 1, Level 2, Winning cutscene, losing cutscene, High scores screen 

你可以定义他们中的任何一个作为独立的应用,下面每一个场景之间通过一条线相连接,如图:

iPhone游戏开发之Cocos2d基本概念

一个cocos2d由一个或者多个层组成(层是用Layer对象实现的),他们堆在了一起。层给了场景一个展示和表现,最简单的操作就是创建一个有层的场景概念。一些场景类的集合叫做transitions,是通过TransitionScene 对象来实现的,他允许你可以在两个场景之间回滚。例如fade out/in,从一个面滑动的等。因为场景是CocosNode的子类,所以说他们可以通过手动或者使用actions的方式被改变。

Director 指导者

指导者可以是一个组件,他可以知道场景向前和向后。指导者是一个共享的,单件对象,他知道当前哪一个场景应该是active的,他可以处理栈里面的一系列场景,就像scene calls,暂停一个Scene和,把它存起来,然后其他场景进入,回退到开始。。当一个层需要去push,替换,或者是在当前场景的末尾,这个指导者是真正能够改变场景的人。指导者同样会对主屏幕的初始化负责。

Layers 层

Layer有整个屏幕这个大的可画的区域,并且他知道怎么画。它可以部分透明(有一个洞或者整个/全部之中的一般透明),允许看到它下面的其他层。层就是定义展示和表现的,所以你编程的更多时间是花在的层的子类上了,如图:

iPhone游戏开发之Cocos2d基本概念

你可以在层上定义事件的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游戏开发Cocos2d基本概念的内容介绍完了,希望本文对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-11 14:32:04

iPhone游戏Cocos2dActions

2011-08-11 14:22:47

iPhone游戏Cocos2D

2011-07-27 13:57:36

iPhone 游戏 Cocos2d

2011-07-27 17:07:06

iPhone 游戏 Cocos2d

2011-07-27 10:13:23

Cocos2D iPhone

2011-07-20 14:04:46

Cocos2d iPhone 游戏

2011-08-09 16:08:58

IOS游戏Cocos2d

2012-04-16 13:37:57

cocos2d

2011-08-11 17:52:01

Cocos2d游戏对象

2011-07-27 14:48:21

iPhone Cocos2D 坐标

2011-08-08 11:26:39

Cocos2d 游戏 Class类

2012-02-19 20:10:23

Cocos2d-x fCocos2dWindows Pho

2011-08-11 18:00:18

Cocos2d动作Action

2012-06-01 10:27:44

Cocos2d触摸分发原理

2011-08-02 15:37:48

Cocos2D UIAccelero

2011-12-12 10:40:08

Cocos2d-X游戏开发开发环境

2011-08-22 10:49:42

Cocos2d 开发CCLayerTouch事件

2011-08-02 15:47:28

Cocos2D Animation

2011-07-29 18:02:06

2011-08-08 15:40:47

Cocos2d
点赞
收藏

51CTO技术栈公众号