注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
没有相关文章
您现在的位置: 顶尖设计 >> IT学院 >> 图形 >> 网页 >> flash >> 制作实例 >> 文章正文
Flash游戏制作教程:青蛙跳荷叶
作者:smallerbird  来源:闪吧  点击:  更新:2008-1-6
简介: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
  }

 

 

[1] [2] [3] [4] [5] 下一页






  • 上一篇文章:
  • 下一篇文章: 没有了
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务