通过之前的一段学习,我用Lua又重写了一遍2048(哈哈哈,我是不是有点勤奋),在这里归纳一下结构。
一、从场景来讲只需要一个场景GameScene即可。
二、GameScene场景下有很多的layer,其中包括:
1、各式各样的label(这里不举例说明)
2、绘制4×4的表格(用DrawNode里的DrawSegment方法画直线)
3、封装的每个卡片(其中参数包括:x,y,num,position),修改数字(用于不同数字显示不同的数字),获取数字。
4、初始化卡片(建table,并定义好local的随机数,让之随机产生),一定要定义一个函数,否则无法实现真正的随机数
function GameScene:getRandom(maxSize) --这里需要这样写一下 才能让随即数每次都不一样 math.randomseed(os.time()) return math.floor(math.random() * maxSize) % maxSize; end5、移动(在我之前写的那篇文章中有例子)
6、移动后需要检测格子(先更新分数;如果有空格子那么再随机在有空格子的地方再产生一个数字;)
7、判断死亡(如果检测格子数量小于1,那么死亡,此时点击Restart菜单重新开始游戏即可)
以上是游戏的大致流程,如果不喜欢看视频的童鞋,可以看看我的结构之后自己试着写一下。万事开头难,如果你不敢写,那么你就永远也不会写,所以不要怕写错。