lua代码结构

2018-11-01  本文已影响0人  陈善伟

好久没写代码,最近开始自己搞代码了。

lua,cocos,代码重新编起来还是挺费劲的,以下仅用来记录,希望能够有所帮助。

调了好多天的网狐荣耀,代码是编译出来的,可是还没完全调通

1、首先,要知道下面的图,因为,以后的开发流程都是按照这样的关系来开发的:

屏幕快照 2016-08-15 14.45.22.png

上面的图片可以知道,我们必须知道:Director、Scene、Layer、Sprite 关系和概念;

2、Director(导演)控制、管理

Director 控制着整个游戏,在Cocos2d-x 3.x中,Director 是单例模式,在整个游戏运行期间,它就只有一个实例。Director是整个Cocos2d-x 3.x的核心:

Director 控制的有如下几个方面:

OpenGL ES的初始化

场景的转换

游戏的暂停、继续的控制

世界坐标和GL坐标之间的切换

对节点的控制

保存和调用保存的游戏数据

屏幕尺寸的获取,等等

3、Scene (场景)

a、游戏里关卡、板块的切换就是一个个场景之间的切换,游戏里至少有一个场景。开发时使用Director 控制着游戏中不同的场景的自由切换。同时,这个Scene 其实就是一个层的容器来的。里面包含了许多游戏元素。

.

b、开发中,当我们需要完成一个场景的时候,就会创建一个Scene的子类,然后在子类中实现我们需要的功能。举个例子:

我们可以在子类的初始化中载入游戏资源,为场景添加层,启动音乐播放等等。(下面就介绍层的概念了)

4、Layer (层)

Layer是处理玩家事件响应的Node子类!!!

也许你会疑惑?

a、怎么区分Scene 和 Layer 呢?

答:层通常包含的是直接在屏幕上呈现的内容。并且可以接受用户的输入事件,包括触摸、键盘输入等。做过iOS开发的同学就知道,这个iOS 开发的理解一样。

b、哪精灵(Sprite)又是什么?

这个是引用“猫神”的解释:在游戏开发中,精灵指的是以图像方式呈现在屏幕上的一个图像。这个图像也许可以移动,用户可以与其交互,也有可能仅只是游戏的一个静止的背景图。塔防游戏中敌方源源不断涌来的每个小兵都是一个精灵,我方防御塔发出的炮弹也是精灵。可以说精灵构成了游戏的绝大部分主体视觉内容,而一个2D引擎的主要工作,就是高效地组织,管理和渲染这些精灵。

答:有了层后,我们需要在层中加入Sprite(精灵)、文本标签或者其它游戏元素。设置游戏元素的属性,比如位置、方向和大小。设置游戏元素的动作等后,最后,我们就可以在场景里,把层按照顺序添加进去(场景),所以,就会显示出来了东西。也就是上面说的可以在屏幕上看得见的东西了。

.

5、Sprite(精灵)

a、Cocos2d-x 3.x中的精灵和其它游戏引擎中的精灵是类似的,它可以移动、旋转、缩放、执行动画,并接受其它转换.

b、Cocos2d-x 3.x中的Sprite由Texure、Frame和Animation组成,由OpenGL ES负责渲染。

作者:光明程辉

链接:https://www.jianshu.com/p/5e6d859c09ba

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

上一篇 下一篇

猜你喜欢

热点阅读