[公告] 向四川汶川大地震中遇难的同胞们致哀!向支持抗震救灾的人们致敬!
flash小游戏相信很网友都玩过,有没有想过自己制作一个呢?本教程教用Flash工具设计开发一个青蛙跳荷叶的小游戏,作者提供了制作的思路,还有步骤效果的源代码,对我们的学习很有利,希望大家能喜欢~
先看看游戏的最终效果:
制作步骤: 一、青蛙跳动起来。 二、来回移动的荷叶。 三、修改“来回移动的荷叶”。 四、跳上荷叶。 五、背景的移动。 六、更像是跳到荷叶上。 七、加上开始,结束。 八、增加游戏的可玩性(吃小虫)。 九、添加平面,效果。
一、青蛙跳动起来 先完成的当然就是青蛙的跳动了,因为我们是以俯视的的角度,所以高低的状态就是尺寸的大小,移动就是y坐标的减。效果及源代码下载:
代码及相关注释:
casUpTopDown.as
class casUpTopDown { // var numV:Number = 0; //最大次数 var numMax:Number; // var numFx:Number = 1; //是否反方向 var isFx:Boolean = false; // function casUpTopDown(numMax:Number){ this.numMax=numMax } // function run() { if (numV+1 numV++; return numV } else { if (numV-1>0) { isFx = true; numV--; return numV }else{ return 0 } } }//end fun }
二、来回移动的荷叶 效果及源代码下载:
现在我们来做游戏中另一个主要的元素:移动的荷叶,我们先让它来回移动起来。我们在"青蛙跳动起来”的代码上加入: 1.把所有程序生成的荷叶都放在一个容器里: var mcHys:MovieClip = _root.createEmptyMovieClip("mcHys", 999);
2.这个mc里设置一些公有属性: //行距 mcHys.numHJ = 80; //尺寸 mcHys.numWH = 58; //下移速度 mcHys.numDownSd = 4; //随机起始的时间 mcHys.arrMoveStarTime = [0, 48, 60, 20, 48];
其中:mcHys.swapDepths(mcPlayer); 目的是把荷叶容器mcHys的与mcPlayer的深度交换。因为青蛙要在荷叶的上面。
3.写入荷叶 用了两个函数: 复制一批荷叶:getSomeHy(numCount:Number, mcHys:MovieClip) 设置每个荷叶的行为:setHeYeMove(mcHy:MovieClip, numSD:Number, numStarTime:Number) //初使化荷叶 getSomeHy(4, mcHys);
注:这些方法在后来都会修改,我们现在的目的只是把要完成的目标完成了,修改是后面的事。
三、修改"来回移动的荷叶" 我们发现我们写出来的荷叶,并不是我们想要的,如里每一行只有一个荷叶的话,青蛙的选择就很少了。所以我们应该在每一行放置若干个荷叶。效果及源代码下载:
我们主要是修改:移动的荷叶 setHeYeMove(mcHy:MovieClip, numSD:Number, numStarTime:Number, numLeftRight:Number) 和复制一批:function getSomeHy(numCountI:Number, numCountJ:Number, mcHys:MovieClip) 这个两个函数: 1) setHeYeMove主要修改的部分就是荷叶移动的状态:目前在于每组荷叶与其它荷叶是交替来回移动。我们在这里定义了一个数组: //随机起始的时间 mcHys.arrMoveStarTime = [0, 48, 60, 20, 48]; 配合: //获得不相同的随机数 function getNoSameRandNum(arrA:Array) 来随机改变荷叶的移动的起始时间。来完成作到这一点。
[1] [2] 下一页
评论内容只代表网友观点,与本站立场无关! 查看更多评论我要说两句
用户名: !
分 值:100分85分70分55分 40分25分10分0分
内 容: !
验证码:
文章评论
评论内容只代表网友观点,与本站立场无关! 查看更多评论