| flash小游戏相信很网友都玩过,有没有想过自己制作一个呢?本教程教用Flash工具设计开发一个青蛙跳荷叶的小游戏,作者提供了制作的思路,还有步骤效果的源代码,对我们的学习很有利,希望大家能喜欢~ | |
三、修改"来回移动的荷叶"
我们发现我们写出来的荷叶,并不是我们想要的,如里每一行只有一个荷叶的话,青蛙的选择就很少了。所以我们应该在每一行放置若干个荷叶。效果及源代码下载:
我们主要是修改:移动的荷叶 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) 来随机改变荷叶的移动的起始时间。来完成作到这一点。
2)
getSomeHy主要作用就是生成一个几行几列对队列。不知读者有没有发现:如果不按鼠标,青蛙就会随着荷叶来回移动,好像就停在上面。因为我们加了初使化语句:
onEnterFrame不停的指定的:青蛙的坐标等于荷叶的坐标。
//青蛙附上第一个荷叶 mcPlayer.onEnterFrame = function() { this._x
= mcHys.mcHy0_1._x; this._y = mcHys.mcHy0_1._y;
}; |
四、跳上荷叶
效果及源代码下载:
要让青蛙跳上荷叶,而且要随着荷叶移动。我们只要作到:青蛙的坐标等于荷叶的坐标;然后我们还要检测青蛙是否跳上荷叶呢?这个检测代码很显然要放在青蛙移动的代码之中:
playerMove()。加入:
//检测跳上 // for (var mcI in _root.mcHys) {
if(this.hitTest(_root.mcHys[mcI])){ //贴上
this.onEnterFrame=function(){ this._x=_root.mcHys[mcI]._x
this._y=_root.mcHys[mcI]._y } break; }
} |
注:这里的检测效率不高,因为我们是检测所有的荷叶是否碰到青蛙,很显然,我们只要检测青蛙上一行的荷叶就可以了,这里的代码没有写出来。有兴趣的读者可以自己修改。
|