Flex模仿游戏中的使用道具
?
编译器: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();}}// zhadanprivate 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
?
?
?