耶有宝为国内少数专业页游资讯网站
本文档中要分析的案例是一个消除的网页游戏。通过它,您可以体验到Mugeda API的一些用法以及使用Mugeda动画制作网页游戏的方法。
(1)游戏规则:
1.开始游戏时,手机会出现在第一行的任何网格中;
2.游戏开始时,彩色宝石将从顶部随机掉下,以填满所有方框。相同的三块宝石不能排成一排或彼此相邻。
3.将手机从顶部移动到底部的任何网格。即使您获胜或比赛时间结束,如果淘汰的石头数超过30,也算是胜利。
(二),玩法
只要将三块相同的石头连续排成一排,它们就会消失,同时上述石头会掉落到消失的石头的位置。
设计思路:
在游戏开始时,将生成8 * 8 = 64颗宝石的阵列,并从上到下掉落。数组的石头将存储在数组中。每个石头都有对应的类型。
将inputstart和inputend事件侦听器添加到石头对象。实现点击输入和拖动输入。输入有效时,交换相应的两个相邻宝石。等待测试以找出是否存在消除结石的条件,如果没有,则将其换回。
游戏开始后,每隔一帧调用一次runcheck()函数,以检查是否存在生成和消除结石的条件。检测方法是:首先逐行遍历数组,以查看是否有三个以上相邻的相同类型的相邻宝石。然后再逐列遍历数组,以查看是否有三个以上相邻的相同类型的相邻宝石。如果存在,则消除相同的宝石,生成新的宝石,然后将它们从上到下放置。
重点:
1.生成一个新的石头对象:
Game.createStone =function(type,index,posY) { var j = Math.floor(index / hang); var i = num-hang * j; var instance = mugeda.createInstanceOfSymbol('stone'type); scene.appendChild(instance,null); instance.left =(kuan * i); instance.top = posY; instance.addEventListener(“ inputstart”,onStart); instance.addEventListener(“ inputend”,onClick); instance.scene.setSegment(“ static”,0,0,false); instance.scene.setSegment(“ run”,1,10,true); instance.scene.playSegment(“ static”); return instance; };
功能参数:
type Number 要生成的石头对象的类型。有7种不同类型的石头。
index Number 要在数组中生成的宝石的索引。
posY Number 生成的宝石的Y轴坐标,因为新生成的宝石将依序下落。
将生成的宝石添加到阵列
var instance = Game.createStone(type,(j * hang i),posY); stoneArray.push({obj:instance,type:type,v:v0});
2.消除结石
从舞台上移走石头对象
scene.removeChild(stoneArray [xiaoArray [x] .num] .obj); stoneArray [xiaoArray [x] .num] .obj = null; stoneArray [xiaoArray [x] .num] .type = 0;
3.生成一个新的石头对象
var type = Math.floor(Math.random()* 100)%6; var instance = game.createStone(type,(i-x * hang),posY); stoneArray [i-x * hang] .type = type; stoneArray [i-x * hang] .obj = instance;
总之,通过设计一个简单的游戏,您可以对Mugeda API的用法有更深入的了解。游戏的逻辑因人而异,建议使该过程首先变得容易,然后再变得困难。首先制作最简单的游戏,完全熟悉Mugeda API的用法,然后制作稍微复杂的游戏。
本站内容来源于网络收集,如有侵权请联系邮箱:16180631@qq.com,投稿邮箱:16180631@qq.com