摘要:
在cocos2d里面,通过Node的方式,将整个场景以及里面的object给组织起来,这样很容易画了,从root node开始遍历,把整棵树画出来就是了. 剩下就是animation,timer, 还有mouse, touch,keyboard的 事件的处理。在cocos2d里面提供了三个模块来管理这些,schedule负责timer和 animation的驱动,Action则负责改变对象的参数实现一些动画效果。还有event dispatcher负责事件的分发.Schedulecocos2d里面的scheduler用于管理时间的调度(timeout的回调),同时这个schedule也驱动着整 阅读全文
摘要:
今天看了cocos2d-html5里面的粒子系统相关的代码,首先看了代码中引用的两篇文章, 这两篇文章google上都可以搜到pdf的.The Ocean Spray in Your Face [jeff lander]Building an Advanced Particle System [John van der Burg]基本概念jeff lander的文章是一个很好的入门,讲述了基本的概念。游戏里面的烟火,大雾,爆炸还有血液四溅的效果:(,都是用粒子系统来模拟的。一个粒子(particle)是3D空间中的一个点。基本属性,如位置,速度,方向,还有生命周期(就是这个粒子该画多少帧)等, 阅读全文
摘要:
Cocos2d采用类似于Dom tree的那种形式来各个部分组织起来。最基本的基类是Node吧,NodeNode 作为基类,函数很多,我觉得可以分为如下几类,树相关的函数, 一些公共的比较实用的函数, 需要子类实现的接口,还有属性的get, set函数既然是树,首先要提供子节点的add, insert, remove, get这一大类函数.作为一个最基本的绘图单元,要考虑scale, rotation, translate, position, BoundingBox这些作为基本几何的属性吧, Zorder 前后的遮挡关系也需要考虑的。 Node里面还有俩个属性,一个是tag, 便于标示和选择 阅读全文
摘要:
今天看了cocos2d-html5代码里面的Director.最简单的框架先抛开cocos2d的框架不说,对于一个游戏来说,基本的逻辑框架还是很简单的,首先初始化的时候注册mouse, touch之类的事件处理函数, 然后在on_XXX_event里面改变游戏的一些状态, 之后就更新重绘图。drawScrene根据game的state和data来把画面呈现出来,interval_time用来控制帧率。game={state, data}init() regist_XXX_event_handler(on_XXX_event); regist_timer_handler(on_tim... 阅读全文
摘要:
昨天接触到了cocos2d-html5的的东东了, 第一次看其源代码一头雾水,幸好samples目录下面有几个例子,可以从这个入手。MoonWarriors是一个射击类的游戏, 有点像以前玩的雷电, 一边看代码,一边玩这个游戏,基本上理解了cocos2d里面的一些基本的概念。游戏里面有四个基本的概念,director, scene, layer, objects(spirte, menuitem, 等).director负责scene的切换,一个scene可以有很多的layer, 每个layer上面可以画很多类型的object, 像飞船, 子弹,还有爆炸效果这些都是某种sprite。还有一些m 阅读全文