Flash游戏制作教程Word格式文档下载.docx
- 文档编号:21517340
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:11
- 大小:18.02KB
Flash游戏制作教程Word格式文档下载.docx
《Flash游戏制作教程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Flash游戏制作教程Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
先完成的当然就是青蛙的跳动了,因为我们是以俯视的的角度,所以高低的状态就是尺寸的大小,移动就是y坐标的减。
效果1
代码及相关注释:
//游戏的最大深度,后面会用的,要设一下最大的尝试,因为我们用到一个鼠标拖动。
varnumMaxDepth:
Number=1000;
//跳动的过程############################
//青蛙mc名称
varmcPlayer:
MovieClip;
//移动
functionplayerMove(){
//这是自定义的一个从初使值到最高值,再以同样的增量回到初值的类,要结合onEnterFrame循环来移动。
//newcasUpTopDown(10)移动次数
mcPlayer.objUpTopDown=newcasUpTopDown(10);
//速度
mcPlayer.numSD=10;
//什么时候开始
mcPlayer.numStar=100;
//青蛙移动的速度
mcPlayer.numMoveSd=4
//循环来移动
mcPlayer.onEnterFrame=function(){
if(this.objUpTopDown.run()!
=0){
this._xscale=this._yscale=(this.numStar+this.objUpTopDown.run()*this.numSD);
this._y-=this.numMoveSd
}else{
//释放资源
delete(this.onEnterFrame);
delete(this.objUpTopDown);
delete(this.numSD);
delete(this.numStar);
delete(this.numMoveSd);
}
};
//
//鼠标#############################
//mouseStyle,鼠标样式
_root.attachMovie("
mouse"
"
mouseStyle"
numMaxDepth);
varobjMouse:
Object=newObject();
//onMouseDown、onMouseMove、onMouseUp和onMouseWheel
objMouse.onMouseDown=function(){
//trace("
按下"
);
objMouse.onMouseMove=function(){
移动"
_root.mouseStyle._x=_xmouse;
_root.mouseStyle._y=_ymouse;
objMouse.onMouseUp=function(){
松开"
playerMove();
Mouse.hide();
Mouse.addListener(objMouse);
casUpTopDown.as
classcasUpTopDown{
varnumV:
Number=0;
//最大次数
varnumMax:
Number;
varnumFx:
Number=1;
//是否反方向
varisFx:
Boolean=false;
functioncasUpTopDown(numMax:
Number){
this.numMax=numMax
functionrun(){
if(numV+1numV++;
文章来自:
Flash家园(www.flash-)
详文参考:
http:
//www.flash-
【Flash游戏制作教程:
青蛙跳荷叶(3)概要:
这个两个函数:
1)setHeYeMove主要修改的部分就是荷叶移动的状态:
目前在于每组荷叶与其它荷叶是交替来回移动。
我们在这里定义了一个数组:
//随机起始的时间mcHys.arrMoveStarTime=[0,48,60,20,48];
配合:
//获得不相同的随机数functiongetNoSameRandNum(a...】
效果3
我们主要是修改:
移动的荷叶setHeYeMove(mcHy:
MovieClip,numSD:
Number,numStarTime:
Number,numLeftRight:
Number)和复制一批:
functiongetSomeHy(numCountI:
Number,numCountJ:
Number,mcHys:
MovieClip)这个两个函数:
1)setHeYeMove主要修改的部分就是荷叶移动的状态:
//随机起始的时间
mcHys.arrMoveStarTime=[0,48,60,20,48];
配合:
//获得不相同的随机数
functiongetNoSameRandNum(arrA:
Array)
来随机改变荷叶的移动的起始时间。
来完成作到这一点。
2)getSomeHy主要作用就是生成一个几行几列对队列。
不知读者有没有发现:
如果不按鼠标,青蛙就会随着荷叶来回移动,好像就停在上面。
因为我们加了初使化语句:
onEnterFrame不停的指定的:
青蛙的坐标等于荷叶的坐标。
//青蛙附上第一个荷叶
this._x=mcHys.mcHy0_1._x;
this._y=mcHys.mcHy0_1._y;
四、跳上荷叶
效果及源代码下载:
效果4
要让青蛙跳上荷叶,而且要随着荷叶移动。
我们只要作到:
青蛙的坐标等于荷叶的坐标;
然后我们还要检测青蛙是否跳上荷叶呢?
这个检测代码很显然要放在青蛙移动的代码之中:
playerMove()。
加入:
//检测跳上
for(varmcIin_root.mcHys){
if(this.hitTest(_root.mcHys[mcI])){
//贴上
this.onEnterFrame=function(){
this._x=_root.mcHys[mcI]._x
this._y=_root.mcHys[mcI]._y
break;
}
注:
这里的检测效率不高,因为我们是检测所有的荷叶是否碰到青蛙,很显然,我们只要检测青蛙上一行的荷叶就可以了,这里的代码没有写出来。
有兴趣的读者可以自己修改。
五、背景的移动
效果5
现在青蛙可以跳上荷叶,可是只能在这小范围运动,我们要让青蛙走的更远。
如何移动背景呢?
只要把荷叶容器mcHys的Y坐标递增,看上去青蛙就向上移动了。
把:
playerMove()中的this._y-=this.numMoveSd;
修改为:
//移动背景
_root.mcHys._y+=this.numMoveSd;
背景移动了:
最忘了复制一行新的荷叶
getOneHy(3,mcHys);
当然也不要忘了删除跳过的荷叶:
(后面的版本会加上这个)
读者会发现:
getSomeHy这个函数不见,而换成了一个:
getOneHy,因为笔者发现在复制一行要比复制几行的功能更适合,这个游戏。
六、更像是跳到荷叶
效果6
我现在的青蛙可以跳上荷叶了,不过问题是好像不太逼真:
青蛙总是落在荷叶的正中,而且从就自算青蛙落在荷叶的边上也会变到荷叶的正中,所以我们要修正它:
青蛙跳荷叶(4)概要:
cHys);
//贴上this.onEnterFrame=function(){//移动荷叶中心_xthis._x=_root.mcHys[mcI]._x+numTemPlayHeCha;
//endif//移动荷叶中心_yif(this.numOnHysY!
=_root.mcHys[mcI]._y){if((this.numOnHysY-this.numToHySd)_root.mcHys[mcI]._y){_root.mcHy...】
我们还是要修改:
playerMove()这个函数:
if(this.hitTest(_root.mcHys[mcI])){
varnumTemPlayHeCha:
Number=this._x-_root.mcHys[mcI]._x;
this.onEnterFrame=function(){
//移动荷叶中心_x
this._x=_root.mcHys[mcI]._x+numTemPlayHeCha;
//endif
//移动荷叶中心_y
if(this.numOnHysY!
=_root.mcHys[mcI]._y){
if((this.numOnHysY-this.numToHySd)>
_root.mcHys[mcI]._y){
_root.mcHys._y+=this.numToHySd;
mcPlayer.numOnHysY-=this.numToHySd;
vartemaaa:
Number=Math.abs(mcPlayer.numOnHysY-_root.mcHys[mcI]._y);
_root.mcHys._y+=temaaa;
mcPlayer.numOnHysY-=temaaa;
程序思路:
分别处理青蛙的x坐标和y坐标:
1)青蛙落在荷叶哪一个部位,就在这停在荷叶的哪个部位。
2)青蛙y坐标慢慢移动到荷叶的y坐标。
为什么一定要移动到荷叶的y坐标,因为青蛙跳的距离是一定的。
青蛙跳上荷叶不一定是会是最佳位置,所以要修正,不然后多跳几七、加上开始,结束
1)到目前为止我们的青蛙还可以"
漂”在水中,即使不跳到荷叶上。
2)删除跳过的荷叶(上文提到的)
效果7
这个游戏大致最算做完了,只是觉得没有什么游戏性,那我们再加一个元素小虫,随机在荷叶中出现小虫,如果青蛙跳上有小虫的荷叶,就加10分。
效果8
1)要在荷叶上出现小虫最简单的方法就是在mc荷叶符号,里加入一个图层,入一个mc的小虫,并命名一个名字。
2)在产生荷叶的代码中加一个随机数。
来判断是否显示,如果显示就设置所产生的荷叶中的"
小虫"
电影符号的alpha值为100,否则为0。
3)在判断青蛙是否跳上荷叶的代码处加入一段代码:
来判断当前的荷叶的小虫"
电影符号的alpha值,如果是100就证明有小虫,分数加1。
(分数我们可以一个_root.变量来存储)
九、添加平面,效果
效果:
最终效果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flash 游戏 制作 教程