|
二、来回移动的荷叶
效果及源代码下载:
效果2
现在我们来做游戏中另一个主要的元素:移动的荷叶,我们先让它来回移动起来。我们在"青蛙跳动起来”的代码上加入:
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); //
|
上一页 [1] [2] [3] [4] [5] 下一页
|