コメント |
@HTML
<a href="http://flex4web.seesaa.net/article/132386829.html" target="_blank">ダウンロードページ</a>
@HEND
@DIV
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
initialize="initData();"
applicationComplete="initApplication()"
paddingLeft="0"
paddingTop="0"
paddingBottom="0"
paddingRight="0"
width="70"
>
<mx:Style source="Style.css" />
<mx:Script>
<![CDATA[
import mx.events.*;
import mx.formatters.*;
// 以下は未使用
import mx.controls.*;
import flash.display.*;
import flash.events.*;
// ※ この NumericStepper のユニーク番号
private var jsid:String;
// *********************************************************
// ログ表示
// *********************************************************
public function firebug(data:Object):void {
var fmt:DateFormatter = new DateFormatter();
fmt.formatString = "YYYY/MM/DD HH:NN:SS";
var logdt:String = fmt.format( new Date );
ExternalInterface.call(
"console.log", logdt,
data+""
);
}
// *********************************************************
// アプリケーションの初期化
// *********************************************************
public function initData():void {
// JavaScript に公開するメソッドの登録
ExternalInterface.addCallback("setValue",
function(value:Number):void {
ns.value = value;
}
);
Security.allowDomain("*");
}
// *********************************************************
// アプリケーションの初期化( 画面構築後 )
// *********************************************************
public function initApplication():void {
// パラメータをプロパティとして持つ Object を取得
// ※ flashvars に指定された内容
var param:Object = mx.core.Application.application.parameters;
// 呼び出す function の番号
// ※ この NumericStepper のユニーク番号
jsid = param.jsid;
// NumericStepper の初期値
// ns は、NumericStepper の id
ns.value = param.value;
ns.minimum = param.minimum;
ns.maximum = param.maximum;
ns.stepSize = param.stepSize;
ns.width = param.width;
// Flash の幅( NumericStepper と一致させる )
this.width = param.width;
// デバッグ( firebug )
firebug(jsid);
// 外部 JavaScript の呼び出し
// jsid が 01 の場合は、NumericStepper01 を呼び出す
// NumericStepper の値が変化した場合のイベント処理
ns.addEventListener( NumericStepperEvent.CHANGE,
function(e:NumericStepperEvent):void {
// JavaScript のメソッドを呼び出す
ExternalInterface.call(
"NumericStepper"+jsid, e.value
);
// デバッグ
firebug(ns.value);
}
);
// SHIFT キーを押していた場合
this.stage.addEventListener( KeyboardEvent.KEY_DOWN,
function(e:KeyboardEvent):void {
if ( e.shiftKey ) {
ns.stepSize = 10;
}
}
);
// 外部 JavaScript の呼び出し
// jsid が 01 の場合は、NumericStepper01 を呼び出す
// キーボードから変更した場合に即変更する
this.stage.addEventListener( KeyboardEvent.KEY_UP,
function(e:KeyboardEvent):void {
// 転送
ns.stepSize = param.stepSize;
ExternalInterface.call(
"NumericStepper"+jsid, ns.value
);
// デバッグ
firebug(ns.value);
}
);
}
]]]]>
</mx:Script>
<mx:NumericStepper
id="ns"
minimum="6"
maximum="1000"
stepSize="1"
value="8"
width="70"
/>
</mx:Application>
@END |