编译器:Adobe Flash Builder 4
有三种道具:闪电(light)、下雨(rain)、zhadan(bomb)
道具弹出的是一个 flash 动画 (*.swf),flash动画弹出后要求覆盖整个页面.
代码:flashTimer.mxml
<fx:Script> 这个标签,在不同的 Flex 版本中有所不同,Flex 3 中的是 <mx:Script>
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.SWFLoader;
import flash.utils.Timer;
// 闪电计时器
private var lightTimer:Timer;
// 下雨计时器
private var rainTimer:Timer;
// zhadan计时器
private var bombTimer:Timer;
/**时限(s)*/
// 闪电,循环显示10次
private var lightTimeTotal:int = 10;
// 下雨,循环显示5次
private var rainTimeTotal:int = 5;
// zhadan,循环显示3次
private var bombTimeTotal:int = 3;
// 初始化,一进入页面就执行此方法
private function init():void {
// 每1000ms执行一次
lightTimer = new Timer(1000,0);
rainTimer = new Timer(1000, 0);
bombTimer = new Timer(1000, 0);
lightTimer.addEventListener(TimerEvent.TIMER, lightTime);
rainTimer.addEventListener(TimerEvent.TIMER, rainTime);
bombTimer.addEventListener(TimerEvent.TIMER, bombTime);
}
// 闪电
private function lightTime(evt:TimerEvent):void {
if (lightTimeTotal >= 0) {
lightLoader.source = "flash/闪电10秒.swf";
lightTimeTotal--;
if (lightTimeTotal == 0) {
lightLoader.source = "";
//Alert.show("light finished");
lightTimer.stop();
}
} else {
lightLoader.source = "";
lightTimer.stop();
}
}
// 下雨
private function rainTime(evt:TimerEvent):void {
if (rainTimeTotal >= 0){
rainLoader.source = "flash/下雨5秒.swf";
rainTimeTotal--;
if (rainTimeTotal == 0){
rainLoader.source = "";
//Alert.show("rain finished");
rainTimer.stop();
}
} else {
rainLoader.source = "";
rainTimer.stop();
}
}
// zhadan
private function bombTime(evt:TimerEvent):void {
if (bombTimeTotal >= 0){
bombLoader.source = "flash/zhadan3秒.swf";
bombTimeTotal--;
if (bombTimeTotal == 0) {
bombLoader.source = "";
//Alert.show("bomb finished");
bombTimer.stop();
}
} else {
bombLoader.source = "";
bombTimer.stop();
}
}
// 点击闪电按钮
private function lightStart():void {
lightTimer.start();
}
// 点击下雨按钮
private function rainStart():void {
rainTimer.start();
}
// 点击zhadan按钮
private function bombStart():void {
bombTimer.start();
}
]]>
</fx:Script>
<s:Button x="105" y="204" label="闪电" id="shandianBtn" click="lightStart()"/>
<s:Button x="247" y="204" label="下雨" id="rainBtn" click="rainStart()"/>
<s:Button x="361" y="204" label="zhadan" id="bombBtn" click="bombStart()"/>
<mx:SWFLoader id="lightLoader" width="656" height="326" x="41" y="10"/>
<mx:SWFLoader id="rainLoader" width="656" height="326" x="41" y="10"/>
<mx:SWFLoader id="bombLoader" width="656" height="326" x="41" y="10"/>
<s:TextInput x="105" y="276" width="326" height="32"/>
</s:Application>
工程结构:
整个工程代码详见附件:alertflash.rar