欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Flash制作青蛙跳荷叶游戏动画

程序员文章站 2022-04-26 15:10:25
flash小游戏相信很网友都玩过,有没有想过自己制作一个呢?本教程教用Flash工具设计开发一个青蛙跳荷叶的小游戏,作者提供了制作的思路,还有步骤效果的源代码,对我们的学习很有利,... 08-10-06...
flash小游戏相信很网友都玩过,有没有想过自己制作一个呢?本教程教用flash工具设计开发一个青蛙跳荷叶的小游戏,作者提供了制作的思路,还有步骤效果的源代码,对我们的学习很有利,希望大家能喜欢~
  先看看游戏的最终效果:


预览效果
  制作步骤:

  一、青蛙跳动起来。
  二、来回移动的荷叶。
  三、修改“来回移动的荷叶”。
  四、跳上荷叶。
  五、背景的移动。
  六、更像是跳到荷叶上。
  七、加上开始,结束。
  八、增加游戏的可玩性(吃小虫)。
  九、添加平面,效果。
  一、青蛙跳动起来

  先完成的当然就是青蛙的跳动了,因为我们是以俯视的的角度,所以高低的状态就是尺寸的大小,移动就是y坐标的减。效果及源代码下载:


效果1

  代码及相关注释
  //游戏的最大深度,后面会用的,要设一下最大的尝试,因为我们用到一个鼠标拖动。
  var nummaxdepth:number = 1000;
  //跳动的过程############################
  //青蛙mc名称
  var mcplayer:movieclip;
  //移动
  function playermove() {
  //这是自定义的一个从初使值到最高值,再以同样的增量回到初值的类,要结合onenterframe循环来移动。
  //new casuptopdown(10) 移动次数
  mcplayer.objuptopdown = new casuptopdown(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);
  var objmouse:object = new object();
  // onmousedown、onmousemove、onmouseup 和 onmousewheel
  objmouse.onmousedown = function() {
  //trace("按下");
  };
  objmouse.onmousemove = function() {
  //trace("移动");
  _root.mousestyle._x = _xmouse;
  _root.mousestyle._y = _ymouse;
  };
  objmouse.onmouseup = function() {
  //trace("松开");
  playermove();
  };
  mouse.hide();
  mouse.addlistener(objmouse);   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
  }