はてなキーワード: MTASCとは
MTASCでFlash Lite 2のSharedObjectを使う
http://anond.hatelabo.jp/20070118224057
↑に「リスナーを設定する必要があります。」とあるのでhaXeの↓に
(インストールフォルダ)\std\flash\SharedObject.hx
↓を追加する
#if flash static function addListener(objectName:String, notifyFunction:Dynamic) :Void; static function removeListener(objectName:String):Void; #end
サンプルの内容は1でカウントアップ、3でカウントの表示。
でサンプル↓をSharedObjectHaxeRei.hxと名前をつけて保存。
import flash.MovieClip; import flash.SharedObject; import flash.Stage; import flash.Key; class SharedObjectHaxeRei { static function main () { var sor : SharedObjectHaxeRei = new SharedObjectHaxeRei (flash.Lib._root); } var Prefs : SharedObject; public function new (mc: MovieClip) { mc.createTextField ("tf", mc.getNextHighestDepth () , 0, 0, Stage.width, Stage.height); mc.tf.text = "SharedObjectHaxeRei\r"; SharedObject.addListener ("Prefs", loadCompletePrefs ); // 共有オブジェクトを作成することができる Prefs = SharedObject.getLocal ("Prefs"); //キーリスナーの指定 Key.addListener (this); } //キーアップイベントの処理 public function onKeyUp () : Void { switch (Key.getCode ()) { case 49 ://1 セーブ if (Prefs.getSize() == 0) { Prefs.data.count = 0; } else { Prefs.data.count++; } case 51 ://3 ロード if (Prefs.getSize() == 0) return; flash.Lib._root.tf.text = Prefs.data.count + "\r" + flash.Lib._root.tf.text; default : } } function loadCompletePrefs (mySO : SharedObject) { flash.Lib._root.tf.text = "call loadCompletePrefs: " + "\r" + flash.Lib._root.tf.text; } }
コンパイルするにはSharedObjectHaxeRei.hxmlを作成して↓を記述
# SharedObjectHaxeReiのコンパイル用 -swf SharedObjectHaxeRei.swf -swf-header 240:320:10 -swf-version 7 -main SharedObjectHaxeRei
上記を↓でコンパイルする。
haxe SharedObjectHaxeRei.hxml
・Flash Lite 2.x ActionScript Language Reference > ActionScript classes > capabilities (System.capabilities)
http://livedocs.macromedia.com/flashlite/2/main/00000421.html
・Flash Lite 2.x ActionScript リファレンスガイド > ActionScript クラス > capabilities (System.capabilities)
http://livedocs.macromedia.com/flashlite/2_jp/main/00000421.html
MTASCの↓を
(インストールフォルダ)\std\System\capabilities.as
↓に置き換える
intrinsic class System.capabilities { static var MIMETypes:Array; static var audioMIMETypes:Array; static var avHardwareDisable:Boolean; static var has4WayKeyAS:Boolean; static var hasAccessibility:Boolean; static var hasAudio:Boolean; static var hasAudioEncoder:Boolean; static var hasCMIDI:Boolean; static var hasCompoundSound:Boolean; static var hasDataLoading:Boolean; static var hasEmail:Boolean; static var hasEmbeddedVideo:Boolean; static var hasMFI:Boolean; static var hasMIDI:Boolean; static var hasMMS:Boolean; static var hasMP3:Boolean; static var hasMappableSoftKeys:Boolean; static var hasMouse:Boolean; static var hasPrinting:Boolean; static var hasQWERTYKeyboard:Boolean; static var hasSMAF:Boolean; static var hasSMS:Number; static var hasScreenBroadcast:Boolean ; static var hasScreenPlayback:Boolean; static var hasSharedObjects:Boolean; static var hasStreamingAudio:Boolean ; static var hasStreamingVideo:Boolean; static var hasStylus:Boolean; static var hasVideoEncoder:Boolean; static var imageMIMETypes:Array; static var isDebugger:Boolean; static var language:String; static var localFileReadDisable:Boolean ; static var os:String; static var screenOrientation:String; static var screenResolutionX:Number; static var screenResolutionY:Number; static var softKeyCount:Number; static var version:String; static var videoMIMETypes:Array; }
サンプルは略
・Flash Lite 2.x ActionScript Language Reference > ActionScript classes > SharedObject
・Flash Lite 2.x ActionScript リファレンスガイド > ActionScript クラス > SharedObject
との事なのでMTASCの↓に
(インストールフォルダ)\std\SharedObject.as
↓の行を追加する
static function addListener(objectName:String, notifyFunction:Function) :Void;
でサンプル
class SharedObjectRei { static function main () { var sor : SharedObjectRei = new SharedObjectRei (_root); } public function SharedObjectRei (mc: MovieClip) { mc.createTextField ("tf", mc.getNextHighestDepth () , 0, 0, Stage.width, Stage.height); mc.tf.text = "SharedObjectRei\r"; SharedObject.addListener ("Prefs", loadCompletePrefs ); // 共有オブジェクトを作成することができる var Prefs : SharedObject = SharedObject.getLocal ("Prefs"); } function loadCompletePrefs (mySO : SharedObject) { if (0 == mySO.getSize ()) { // サイズが 0 の場合、データを初期化する必要がある mySO.data.name = "Sigismund"; mySO.data.email = "siggy@macromedia.com"; } else { // mySO のすべてのデータをトレースする _root.tf.text+= "Prefs: " + "\r"; for (var idx in mySO.data) { _root.tf.text+= " " + idx + ": " + mySO.data [idx] + "\r"; } } } }
コンパイルは↓を参考に
・ActionScript 2.0メモ