Cocos2D-X learning 1

最近学了一些关于Cocos2D-X的知道,在这里整理一下。

一直以来我做的都是后端的工作,现在突然有兴趣做一些前端的关于移动程序开发以及游戏开发方面的程序,对很多概念都是非常陌生的,不知道我后端开发方面的经验放在前端有没有一些用处。

Cocos2D的简单介绍

Cocos2D是一个应用非常广泛的2D游戏开发引擎,可以帮助对页面的元素进行方便的管理以及移动变形等操作,Cocos2D是基于Objective-C语言的,所以在iOS上的开发非常方便,但是跨平台方面就较差了,所以,就有了Cocos2D-X这一个基于C++的复刻版。

Cocos2D的一些概念(这里只说我学到的)

  1. 导演类CCDirector:这个类可以算是管理类,可以通过这个类获取到游戏运行界面的一些元素的属性,比如winSize等,在游戏中可以用来管理场景等。本类的使用方式为单例,通过类方法CCDirector::sharedDirecter获取对象。
  2. OpenGL类CCEGLView:对于OpenGL我不是很了解,但是我猜是可以提供类似于DirectX之类的功能,应该是管理图像动画等操作的,CCDirector需要绑定一个CCEGLView对象才可以运行,也是以单例的方式使用,通过类方法CCEGLView::sharedOpenGLView获取对象。
  3. 场景类CCScene: 场景类继承于CCNode,在其中可以放置CCLayer类。
  4. 层CCLayer:此类同样继承于CCNode,在其中可以放置CCSprite类,我的理解CCLayer就相当于电影中的幕次吧。在游戏中定义的不同游戏场景都需要继承CCLayer,必须实现的方法有virtual CCScene * scene()/static bool init()/CREATE_FUNC(CustomSceneName),其中CREATE_FUNC是宏,可以帮助建立create方法。
  5. 精灵类CCSprite:这应该是场景中更小的元素,在游戏中放置的背景、图片等都需要使用CCSprite,与CCScene一样都是继承自CCNode,由此可以判断,CCSprite类也是一个小场景,在其中可以加入其它的子元素,共同完成更复杂的动作。

目前基本只学到了这些,明天继续。