游戏引擎的简介:
游戏引擎的产生是为了简化游戏开发的成本,免去大量的重复代码,简单的实现想要的效果。
游戏精灵:
引擎中的精灵,是游戏永远的主角。精灵承载着多种角色的扮演,如:主角、子弹、爆炸、敌人、物品等都适用于多个精灵来演示。
动作:
1.引擎中动作适用于精灵运行、地图运行。它与精灵的完美配合,可谓是如虎添翼。精灵适用于所有动作,所有动作也必须让精灵运行后才会产生效果。
2.部分动作属于效果类型,比如:弹性,变速,反弹,不停重复等等。。
3.部分动作属于功能类型,比如:队列执行,同时执行,回调动作等等。。
地图:
1.地图采用了方块式,需要电脑使用软件“Tiled”设计编辑,此软件编辑十分简单快捷,使用前可提前准备好图像资源。(可进入QQ群了解使用方式)
2.方块式地图文件格式为“.tmx”,资源为图像格式。地图与资源图像 两者必须同时在一个目录。
3.方块地图可分层,一个地图可由多层组成,每一层可以绘画不同的图像。精灵添加到地图上后,可根据不同层次进行与地图的碰撞探测。
例:
地图1:共有 2层
1层:选择部分面积绘画成树木
2层:整块地图都绘画成地面
》添加精灵到地图上
当用户控制精灵在地图上行走时,我们获取第1层,然后通过判断 gclayercon 方法判断 精灵是否与树木碰撞,如果碰撞就无法向前行走。
定时器:
引擎中是禁止使用线程更新游戏界面,可使用定时器来实现界面的更新。比如:怪物的行走,指定方向坐标后,调整定时器每0.4秒运行一次,每次运行让怪物向目的移动一步,每移动一步还可以切换图像实现类似行走的样子。
定时器是一个触发器,设定好时间后,不断的触发。如不需要使用的定时器,请即时移除它。
怪物智能:
怪物智能最考验算法了,通过随机来获取怪物的参数,然后使用定时器去更新怪物的行为,这里通过一个简单例子来说明:
[获得怪物上下左右的定向移动]
获得X范围(0至20)的随机数,然后再减去10;最终值= -10至10
获得Y范围(0至20)的随机数,然后再减去10;最终值= -10至10
》得到了随机行走的路线,并且速度也是随机的,实现了上下左右的定向行走。
当怪物撞墙或探测到碰撞后,重新随机获取一次定向行走;
这样会不会觉得怪物傻傻的撞墙才会改变路线,我们还可以增加一个(0至10)的随机值,每次定时器触发都重新获取。
如果这个随机值当=5 时,我们就让怪物 重新随机获取一次定向行走; 这样一来怪物就增加了随机性了
再增加一个随机数,怪物是不是可以随机发子弹了呢?
获取主角的定点坐标, 获取怪物的定点坐标; 如果判断两者离得很近时,是不是可以让怪物发动攻击呢?
碰撞:
通常精灵与精灵的碰撞、精灵与地图的碰撞。碰撞探测游戏中会大量应用,可通过相关代码进行演练。
gdr申明游戏:
用法:
//游戏设置与申明;输入是否显示FPS值,渲染一帧时间,将返回游戏对象到赋值变量“gdr”。
gdr(“true”, 0.03, gdr)
//暂停游戏
gdr(gdr, “stop”)
//恢复游戏
gdr(gdr, “go”)
//结束游戏
gdr(gdr, “end”)
说明:
开始制作游戏的起点工作 与 游戏的一些控制。
gse游戏场景:
用法:
//申明一个场景
gse(gse)
//添加景层
s hs = “fn mokuai.hanshu(a)”
gse(gse, hs, hs, hs, hs)
//运行场景
gse(gdr, gse)
//替换一个游戏场景,将正在运行的终止。
gse(gdr, “repl”, gse)
//暂停当前的游戏场景,执行另一个游戏场景
gse(gdr, “push”, gse)
说明:
游戏场景相关操作。
gseset游戏场景设定:
用法:
//申明一个场景
gse(gse)
//设置游戏场景停止当前所有动作
gseset(gse, “stop”)
//移除自身
gseset(gse, “del”)
说明:
游戏场景的一些设置
gcppm激活触碰事件:
用法:
gcppm(“true”)
说明:
设置游戏是否激活界面触碰事件,默认为 false
gcxy定点坐标:
用法:
//定位一个坐标,像素 100*200
gcxy(100, 200, a)
更多教程请下载文档!