import flash.events.MouseEvent; 

import flash.utils.Endian; 



//初始化角色运动速度遍历 

var vx:int = 0; 

//定义一个影片剪辑变量 

var fruit:MovieClip; 

//创建游戏开始界面实例 

var cover_mc:cover=new cover(); 

//创建游戏结束提示实例 

var end:Endgame=new Endgame(); 

//创建游戏角色实例 

var role_mc:role=new role(); 

//时间变量初始化 

var time:int = 0; 

//定义一个计时器变量 

var timer:Timer; 

//得分变量初始化 

var score:int = 0; 

//设置角色在舞台上的位置 

role_mc.x = stage.stageWidth / 2; 

role_mc.y = stage.stageHeight - 50; 

//设置游戏结束提示信息在舞台上出现的位置 

cover_mc.x = stage.stageWidth / 2; 

cover_mc.y = stage.stageHeight / 2; 

//创建记分器对象实例 

var score_mc: scoremc= new scoremc(); 

//初始化游戏得分 

score_mc.textScore.text = "0"; 

//设置记分器的出现位置 

score_mc.x = stage.stageWidth - 90; 

score_mc.y = 35; 

//在舞台上添加记分器 

stage.addChild(cover_mc); 

//为开始界面中的“开始游戏”按钮添加事件侦听器; 

cover_mc.btn_S.addEventListener(MouseEvent.CLICK,startgame); 

//创建“开始游戏”按钮的事件响应函数; 

function startgame(e:MouseEvent ) 

{ 

 //移除开始界面 

 stage.removeChild(cover_mc); 

 //使舞台获得焦点以便对按键产生响应; 

 stage.focus = stage; 

 //调用函数生成下落的水果 

 downFruits(); 

 //在舞台上添加记分器 

 stage.addChild(score_mc  ); 

 //在舞台上添加游戏角色 

 stage.addChild(role_mc); 

 //添加按键按下事件侦听器; 

 stage.addEventListener(KeyboardEvent.KEY_DOWN,keysDown); 

 //添加按键释放事件侦听器; 

 stage.addEventListener(KeyboardEvent.KEY_UP,keysUp); 

 //添加帧频事件侦听器使游戏角色能够运动; 

 stage.addEventListener(Event.ENTER_FRAME,roleMove); 

} 

//创建按键按下事件响应函数 

function keysDown(m:KeyboardEvent) 

{//判断是否按下左方向键 

 if (m.keyCode == Keyboard.LEFT) 

 { 

 //使游戏主角向左运动 

 vx = -10; 

 } 

 //判断是否按下右方向键 

 if (m.keyCode == Keyboard.RIGHT) 

 { 

 //使游戏角色向左运动 

 vx = 10; 

 } 



} 

//创建释放按键事件响应函数 

function keysUp(k:KeyboardEvent) 

{//如果释放了左方向键或右方向键 

 if (k.keyCode == Keyboard.LEFT || k.keyCode == Keyboard.RIGHT) 

 { 

 //使游戏角色停止运动 

 vx = 0; 

 } 

} 

//创建角色的帧频事件响应函数使角色运动 

function roleMove(event:Event) 

{ 

 role_mc.x +=  vx; 

} 

//创建函数使水果下落 

function downFruits():void 

{//定义时间间隔为1000毫秒 

 var delay:int = 1000; 

 //定义重复执行的次数为0,即无限次执行 

 var repeat:int = 0; 

 //创建计时器对象 

 timer = new Timer(delay,repeat); 

 //侦听该对象的TIMER事件,以间隔时间调用createMilk()函数; 

 timer.addEventListener(TimerEvent.TIMER,createFruits); 

 //开始计时; 

 timer.start(); 

} 

//创建事件响应函数,该函数用于随机生成水果 

function createFruits(event:TimerEvent):void 

{//生成随机数 

 var i:int = Math.round(Math.random() * 3); 

 //根据随机数实例化水果对象 

 if (i == 1) 

 { 

 fruit = new fruit1(); 

 } 

 else if (i==2) 

 { 

 fruit = new fruit2(); 

 } 

 else if (i==3) 

 { 

 fruit=new fruit3(); 

 } 

 else 

 { 

 fruit=new fruit4(); 

 } 

 //添加事件侦听器侦听水果对象的enterFrame事件; 

 fruit.addEventListener(Event.ENTER_FRAME,startDown); 

 //随机产生水果对象的x坐标; 

 fruit.x = Math.round(Math.random() * stage.stageWidth); 

 //向舞台上添加水果对象 

 stage.addChild(fruit); 

 //时间加1; 

 time++; 

 //如果时间大于等于60秒 

 if (time >= 60) 

 { 

 //计时器复位 

 timer.reset(); 

 //移除按键和释放按键事件侦听器使角色不再移动 

 stage.removeEventListener(KeyboardEvent.KEY_DOWN,keysDown); 

 stage.removeEventListener(KeyboardEvent.KEY_UP,keysUp); 

 //移除计时器事件侦听器 

 timer.removeEventListener(TimerEvent.TIMER,createFruits); 

 //设置提示结果对象在舞台上的位置 

 end.x = stage.stageWidth / 2; 

 end.y = stage.stageHeight / 2; 

 //使提示结果对象在舞台上显示 

 stage.addChild(end); 

 //使游戏角色停止运动 

 vx = 0; 

 //为提示结果对象中的【重新开始】按钮添加事件侦听器 

 end.btn_E.addEventListener(MouseEvent.CLICK ,onceagain); 

 } 



} 

//创建【重新开始】按钮的事件响应函数 

function onceagain(m:MouseEvent ) 

{//从舞台上移除提示信息 

 stage.removeChild(end); 

 //使舞台获得焦点; 

 stage.focus = stage; 

 //重新定义重复执行次数 

 time = 0; 

 //得分变量初始化 

 score = 0; 

 //使得分信息显示为0 

 score_mc.textScore.text = "0"; 

 //调用downFruits()函数 

 downFruits(); 

 //使得分信息在舞台上显示 

 stage.addChild(score_mc  ); 

 //添加按键和释放按键事件侦听器 

 stage.addEventListener(KeyboardEvent.KEY_DOWN,keysDown); 

 stage.addEventListener(KeyboardEvent.KEY_UP,keysUp); 

 //添加帧频事件侦听器; 

 stage.addEventListener(Event.ENTER_FRAME,roleMove); 

} 

//创建帧频事件响应函数使水果下落 

function startDown(event:Event):void 

{//先移除已经在舞台上显示的记分器对象,然后再将其添加到舞台这样保证其位于舞台的顶层不被水果遮盖 

 stage.removeChild(score_mc); 

 stage.addChild(score_mc ); 

 //定义影片剪辑实例将其指定为当前的水果对象 

 var mc:MovieClip = event.target as MovieClip; 

 //水果对象每次向下移动10个像素 

 mc.y +=  10; 

 //水果对象在下落过程中旋转 

 mc.rotation +=  5; 

 //检测是否发生了碰撞,只有碰撞发生在计时时段内时才执行下面的代码 

 if (mc.hitTestObject(role_mc) && time < 60) 

 {//播放角色张嘴动画 

 role_mc.play(); 

 //如果牛奶对象与角色手中的容器发生碰撞; 

 //移除水果对象 

 stage.removeChild(mc); 

 //移除该水果对象的事件侦听器; 

 mc.removeEventListener(Event.ENTER_FRAME,startDown); 

 //分数加10 

 score +=  10; 

 //将增加后的分数显示在记分器中 

 score_mc.textScore.text = score.toString(); 



 } 

 //如果水果离开了舞台 

 if (mc.y > stage.stageHeight) 

 { 

 //移除该水果对象的事件侦听器 

 mc.removeEventListener(Event.ENTER_FRAME,startDown); 

 //删除该水果对象 

 stage.removeChild(mc); 

 } 

}

我想要添加一个炸弹,判断触碰到后回到判断重新开始界面,但是感觉无从下手,请各位大牛指导一下