`
xurichusheng
  • 浏览: 337924 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Flex模仿游戏中的使用道具

    博客分类:
  • 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();
				}
			}
			
			// 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

 

 

 

  • 大小: 17 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics