顶部468*60ad 顶部468*60ad 顶部468*60ad 顶部468*60ad

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

2007-12-03 21:04:48  来源:闪吧 smallerbird

  二、来回移动的荷叶

  效果及源代码下载:

  网页教学网


效果2 Webjx.Com

  现在我们来做游戏中另一个主要的元素:移动的荷叶,我们先让它来回移动起来。我们在"青蛙跳动起来”的代码上加入:

  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);

  注:这些方法在后来都会修改,我们现在的目的只是把要完成的目标完成了,修改是后面的事。

  //移动的荷叶############################
  function setHeYeMove(mcHy:MovieClip, numSD:Number, numStarTime:Number) {
  mcHy.objUpTopDown = new casUpTopDown(480);
  mcHy.numSD = numSD;
  mcHy.numStar = mcHy._x;
  //什么时候开始
  mcHy.numStarTime = numStarTime;
  mcHy.onEnterFrame = function() {
  if (this.numStarTime--<0) {
  if (this.objUpTopDown.run() == 0) {
  this.objUpTopDown.isFx = false;
  }
  this._x = (this.numStar+this.objUpTopDown.run()*this.numSD);
  }
  };
  }
  //荷叶容器
  var mcHys:MovieClip = _root.createEmptyMovieClip("mcHys", 999);
  mcHys.swapDepths(mcPlayer);
  //行距
  mcHys.numHJ = 80;
  //尺寸
  mcHys.numWH = 58;
  //下移速度
  mcHys.numDownSd = 4;
  //随机起始的时间
  mcHys.arrMoveStarTime = [0, 48, 60, 20, 48];
  //复制一批
  function getSomeHy(numCount:Number, mcHys:MovieClip) {
  for (var numI:Number = 0; numI  var mcTem:MovieClip = mcHys.attachMovie("hy", "mcHy"+numI, numI);
  mcTem._y = (Stage.height-mcHys.numWH)-numI*(mcHys.numHJ+mcHys.numWH);
  mcTem._width = mcTem._height=mcHys.numWH;
  setHeYeMove(mcTem, 1, getNoSameRandNum(mcHys.arrMoveStarTime));
  }
  //end for
  }
  //初使化荷叶
  getSomeHy(4, mcHys);
  //

文章评论

共有 0 位网友发表了评论 查看完整内容