topical media & game development
tube-china-calligraphy.mx
tube-china-calligraphy.mx
(swf
)
[ flash
]
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="hush()">
<mx:String id="dispState" />
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
var state:int = 0;
// Cato Paus Skrede UmbrellaCorp DA www.umbrellacorp.no
import flash.display.StageDisplayState;
import mx.managers.SystemManager;
private function hush():void {
/* Set up full screen handler. */
systemManager.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler);
dispState = systemManager.stage.displayState;
}
private function fullScreenHandler(evt:FullScreenEvent):void {
dispState = systemManager.stage.displayState + " (fullScreen=" + evt.fullScreen.toString() + ")";
if (evt.fullScreen) {
/* Do something specific here if we switched to full screen mode. */
} else {
/* Do something specific here if we switched to normal mode. */
}
}
private function toggleFullScreen():void {
try {
switch (systemManager.stage.displayState) {
case StageDisplayState.FULL_SCREEN:
/* If already in full screen mode, switch to normal mode. */
systemManager.stage.displayState = StageDisplayState.NORMAL;
break;
default:
/* If not in full screen mode, switch to full screen mode. */
systemManager.stage.displayState = StageDisplayState.FULL_SCREEN;
break;
}
} catch (err:SecurityError) {
// ignore
}
}
[Bindable]
private var movie:String;
private function setSource():void{
//movie = "http://stage.orchestra.it/x.flv"; // some dud dancing 16 min sample.
movie = "@url";
//movie = "http://www.youtube.com/v/@video";
// the url of the FLV ver. 1.1 do contains the metaData for totalTime FLV ver 1.0 do's NOT.
/* if you type the url into VideoDisplay.source and use autoplay it starts to play in design mode
that's realy annoying.*/
}
private function formatPositionToolTip(value:int):String{
// do only handle minuts.
var result:String = (value % 60).toString();
if (result.length == 1){
result = Math.floor(value / 60).toString() + ":0" + result;
} else {
result = Math.floor(value / 60).toString() + ":" + result;
}
return result;
}
private function clickHandler ( event:MouseEvent ):void
{
if (state == 0) {
//myLabel.text = " XXXXXXXXXXXXXXX ";
//videoLabel.text = " XXXXXXXXXXXXXXX ";
textLabel.text = " 谢谢 你 ";
text1Label.text = " A.Eliëns (VU) ";
state = 1;
} else if (state == 1) {
//myLabel.text = " game over ";
textLabel.text = " game over ";
text1Label.text = " ";
state = 2;
} else {
textLabel.text = " ";
state = 0;
}
}
]]>
</mx:Script>
<mx:Panel layout="absolute" width="100%" height="100%"
headerHeight="0" cornerRadius="2" borderStyle="solid" borderThickness="0"
borderThicknessBottom="0" borderThicknessLeft="0" borderThicknessRight="0"
borderThicknessTop="0" backgroundColor="#0f00f0">
<mx:Label id="myLabel" width="180" x="300" y="400" fontWeight="bold" fontSize="24" color="red" />
<mx:VideoDisplay id="videoDisplay" source="{movie}" width="100%" height="100%" left="0" top="0" right="0"/>
<mx:ProgressBar id="loadProgress" label="" mode="event" barColor="#00ff00"
minimum="0" maximum="100" bottom="55" height="5"
source="{videoDisplay}" trackHeight="3" trackColors="[#00ff00, #e6eeee]" left="10" right="10"/>
<mx:HSlider id="position" height="5"
dataTipFormatFunction="formatPositionToolTip"
thumbPress="videoDisplay.pause()" slideDuration="0"
thumbRelease="videoDisplay.play()"
change="videoDisplay.playheadTime = position.value"
value="{videoDisplay.playheadTime}"
minimum="0" maximum="{videoDisplay.totalTime}" left="4" right="4" bottom="62"/>
<mx:Button label="f/v" click="toggleFullScreen()" bottom="10" x="10" right="20" />
<mx:Button click="setSource()" label="start" cornerRadius="0" bottom="10" x="10" right="80"/>
<mx:Button id="myButton" label="!" click="clickHandler(event);" cornerRadius="0" bottom="10" x="10" right="200" />
<mx:Button label="play" click="videoDisplay.play();" cornerRadius="0" bottom="10" x="10" left="10"/>
<mx:Button label="pause" click="videoDisplay.pause();" cornerRadius="0" bottom="10" left="69"/>
<mx:Button label="stop" click="videoDisplay.stop();" cornerRadius="0" left="138" bottom="10"/>
<mx:HSlider id="volume" snapInterval="0.01" value="0.5" maximum="1.0"
change="videoDisplay.volume = volume.value;"
liveDragging="true" height="20" left="220" bottom="20" width="154"/>
<mx:Label styleName="playheadTimeLabel"
text="media @ VU: [{formatPositionToolTip(videoDisplay.playheadTime)} - {formatPositionToolTip(videoDisplay.totalTime)}]"
color="#ffffff" left="5" top="0"/>
<mx:Label id="videoLabel" styleName="playheadTimeLabel" text="@text" color="#ffffff" right="25" top="0"/>
<mx:Label id="textLabel" styleName="playheadTimeLabel" text="" color="#ffffff" right="250" top="200" fontSize="60" />
<mx:Label id="text1Label" styleName="playheadTimeLabel" text="" color="#ffffff" right="250" top="300" fontSize="40" />
</mx:Panel>
</mx:Application>
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.