AS 3自定义事件实例,调度事件

此博客介绍了一个使用Flash开发的小型游戏示例,通过鼠标点击操作来击中随机生成的目标,记录得分和失误次数,当得分达到10次则显示胜利,失误10次则显示失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

import flash.text.TextField;
import flash.events.MouseEvent;
import flash.display.Sprite;
import flash.events.Event;

//书上的例子,紧紧是写下来练习练习而已
var num:uint=30;
var score:uint=0;
var miss:uint=0;
var SW:uint=stage.stageWidth;
var SH:uint=stage.stageHeight;
var tf:TextField=new TextField();
tf.x=tf.y=25;
tf.autoSize="left";
tf.width=200;
stage.addChild(tf);
const YOU_WIN:String="you win";
const YOU_LOSE:String="you lose";
stage.addEventListener(MouseEvent.CLICK,kill);
stage.addEventListener(YOU_WIN,win);
stage.addEventListener(YOU_LOSE,lose);
for(var i:uint;i {
 var target:Sprite=new Sprite();
 target.graphics.beginFill(0xffffff*Math.random());
 target.graphics.drawCircle(0,0,40);
 target.graphics.endFill();
 target.scaleX=target.scaleY=Math.random()*0.5+0.5;
 stage.addChildAt(target,0);
 target.x=Math.random()*(SW-target.width)+target.width/2;
 target.y=Math.random()*(SH-target.height)+target.height/2;
 }
function kill(e:MouseEvent):void
{
 if(e.target!=e.currentTarget){
 score ++;
 tf.text="打中了,已经打中了"+score+"抢";
 }else{
  miss ++;
  tf.text="失误了,已经失误了"+miss+"抢";
  
  }
    if(score>=10)
 {
  stage.dispatchEvent(new Event(YOU_WIN));
  
  }
 else if(miss>=10)
 {
  stage.dispatchEvent(new Event(YOU_LOSE));
  }
 }
function win(e:Event):void{
 tf.text="you win";
 stage.removeEventListener(MouseEvent.CLICK,kill);
 stage.removeEventListener(YOU_WIN,win);
 stage.removeEventListener(YOU_LOSE,lose);
 }
function lose(e:Event):void{
 tf.text="you lose";
 stage.removeEventListener(MouseEvent.CLICK,kill);
 stage.removeEventListener(YOU_WIN,win);
 stage.removeEventListener(YOU_LOSE,lose);
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值