⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 speedstate.as

📁 Papervision3d的源码
💻 AS
字号:
/**
 * Paperskated3d - simple skateboard simulator in Papervision3d
 * 
 * @author Bartek Drozdz 
 * @version 1.0
 * 
 * Released under Creative Commons Attribution-Non-Commercial-Share Alike 3.0 License.
 */
package com.paperskate3d.gui {
	
	import com.paperskate3d.SkatingEvent;
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.events.Event;
	import gs.TweenLite;
	import com.carlcalderon.arthropod.Debug;
	import flash.display.BlendMode;
	import fl.motion.easing.Sine;
	
	public class SpeedState extends Sprite {
		
		[Embed(source = '../../../../assets/slow-motion.png')]
		private var SMLabel:Class;
		private var smLabel:Bitmap;
		
		[Embed(source = '../../../../assets/pause.png')]
		private var PALabel:Class;
		private var paLabel:Bitmap;
		
		private var animTime:Number = .5;
		
		public function SpeedState() {
			smLabel = new SMLabel() as Bitmap;
			paLabel = new PALabel() as Bitmap;
			
			smLabel.x = Math.round(smLabel.width * -.5);
			paLabel.x = Math.round(paLabel.width * -.5);
			
			addEventListener(Event.ADDED_TO_STAGE, display);
			addEventListener(Event.REMOVED_FROM_STAGE, hide);
		}
		
		public function setState(ske:SkatingEvent):void {
			TweenLite.killTweensOf(this);
			
			switch(ske.speedMode) {
				case SkatingEvent.SPEED_PAUSE: 
					if (contains(smLabel)) removeChild(smLabel);
					addChild(paLabel);
					animTime = .2;
					addChild(paLabel);
					animate();
					break;
				case SkatingEvent.SPEED_SLOW: 
					if (contains(paLabel)) removeChild(paLabel);
					addChild(smLabel);
					animTime = .5;
					addChild(smLabel);
					animate();
					break;
				case SkatingEvent.SPEED_NORMAL:
					if (contains(paLabel)) removeChild(paLabel);
					if (contains(smLabel)) removeChild(smLabel);
					break;
			}
		}
		
		private function display(e:Event):void {
			alpha = 0;
			animate();
		}
		
		private function animate():void {
			var talpha:Number = (alpha == 0) ? .6 : 0;
			TweenLite.to(this, animTime, { alpha:talpha, onComplete:animate, transition:Sine.easeInOut } );
		}

		private function hide(e:Event):void {
			TweenLite.killTweensOf(this);
		}
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -