flash as3 打气球小游戏代码

2015-08-18 15:02:57来源:作者:人点击

效果如下

flash as3 打气球小游戏代码 第七城市

首先是源代码,保存为main.as文件,关联到Fla即可运行。

代码如下

package {
importflash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.Timer;
import flash.geom.Matrix;
[SWF(width=800, height=465,backgroundColor=0xffffff, frameRate=24)]
public class main extends Sprite {
private var pointNum:Number=0;
private var pTxt:TextField = addChild(new TextField()) as TextField;
private var matrix:Matrix = new Matrix();
public function main(){
var t:Timer = new Timer(500);
var tFun=function(){matrix.createGradientBox(800,465,Math.PI/2,0,0),graphics.beginGradientFill(GradientType.LINEAR,[0x00CCFF,0xFFFFFF],[0.3,1],[0,255],matrix),graphics.drawRect(0,0,800,465),t.addEventListener(TimerEvent.TIMER,function(e){var mc;
var mcFun = function(){mc=addChild(new balloon(Math.random()*10 + 1)),mc.x=Math.round(Math.random()*(700-30))+30,mc.y=465}.apply();
mc.addEventListener(MouseEvent.MOUSE_DOWN, function(e){removeChild(e.target.parent),pTxt.htmlText='<font size="20" color="#ff0000">Score:'+(++pointNum).toString()+'</font>'});}),t.start()}.apply();
}
}
}
import flash.display.Sprite;
import flash.events.Event;
class balloon extends Sprite{
private var speed:Number;
private var s:Sprite =addChild(new Sprite()) as Sprite;
public function balloon(_t){
var sFun=function(){s.graphics.lineStyle(1, 0),s.graphics.curveTo(-10, 30, 0, 60),s.graphics.beginFill(Math.random() * 0xffffff + 0xff000000),s.graphics.drawCircle(0,0,20),speed=Math.round(_t)}.apply();
s.addEventListener(Event.ENTER_FRAME,function(e){s.y-= speed;});
}
}

这段代码,以}占一行,带分号;的语句占一行,咱不搞一行写N句的小聪明。

这段代码,有些地方写的不规范,比如用了匿名函数,而且对效率没做优化(对象池),但是,作为一个完整的游戏,它已经可以跑起来了,去掉import那些,核心代码也就20行。

虽然只有短短的30行代码,但是我们用到了类的知识,对象,渐变,矩阵,事件处理,匿名函数,随机运算,以及graphic绘图等,可谓麻雀虽小五脏俱全哇

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台