多语言展示
当前在线:801今日阅读:23今日分享:25

egret小游戏教程

前天接触了egret引擎,看了下里面的系列教程(黑白方块),自己跟着做并改了一下逻辑,完善了一下,包括第一次点击后开始计时、计时结束后不能再点击等。
方法/步骤
1

然后今天做了下拼图游戏,有些地方还待完善,不过算是初步了解下egret。

2

这里的拼图是那种右下角缺一块那种,逻辑部分比较简单,主要就是怎样打乱,移动,判断是否还原。 打乱的话,可以先将各个拼图块表示成数字存入数组currentorder中,然后在排序sort函数中加入随机数来随机排序方法进行打乱。

3

打乱后还要判断是否能够还原,以未打乱的拼图(3*3)为例,表示为0,1,2,3,4,5,6,7,8,以它做标准列,其逆序数为0。 判断是否能够还原的条件是:打乱后方块的逆序数 + 打乱后空白方块到右下角方块的曼哈顿距离 是否为偶数

4

曼哈顿距离: 两者之间x距离差+y距离差 逆序数:计算打乱后的拼图逆序数即看数列中每一个数的前面,有多少个比它大的数。如 2,5,3,1,4,8,7,0,6,其逆序数为:0+0+1+3+1+0+1+7+2 = 15 如果打乱后不能还原,则再打乱一次。

5

接下来是游戏主界面的搭建: 首先新建GameDate类,用这个类来存储游戏的一些静态配置,数据等。

6

接下来新建puzzlepart类,继承自egret.sprite,表示拼图的每一小块。包含图片的边框,以及一张图片。同时有添加图片createImg方法和展示show方法。

推荐信息