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);
}
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);
}
}
我想要添加一个炸弹,判断触碰到后回到判断重新开始界面,但是感觉无从下手,请各位大牛指导一下