📄 speedstate.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 + -