Google Swiffyがversion 5.1にアップデートされ、外部リソースのロードを(実験的に)サポート

Google Swiffyがversion 5.1にアップデートされ、外部リソースのロードを(実験的に)サポートされました。

Google Swiffy

March 20, 2013 (version 5.1.0)

  • Added experimental support for external resource loading.
  • Added dynamic text support for Firefox and IE (other browsers were already supported).
  • Added support for AS3 exception handling and optional arguments.
  • Added support for loadMovie, loadMovieNum, loadVariables, loadVariablesNum, unloadMovie, unloadMovieNum, LoadVars, _lockroot, MovieClipLoader, XML and XMLNode (AS2).
  • Added support for QName, Namespace, Loader, LoaderInfo, Stage, Matrix, Point, Rectangle, Transform, ColorTransform, Vector3D, URLLoader and URLVariables (AS3).
  • Improved rendering of justified text.
  • Improved type coercion in AS3.
  • Improved the order of object initialization and construction.
  • Fixed the scope in which on() handlers are executed for nested buttons.
  • Fixed a problem with constants in AS3.

訳してみる

さっそくGoogle翻訳を通しつつ、ちょいちょい調整して訳してみます。

2013年3月20日(バージョン5.1.0)

  • 外部リソースをロードするための実験的サポートが追加されました。
  • FirefoxとIEのために追加されたダイナミックテキストのサポート(他のブラウザではすでにサポートされていました)。
  • AS3の例外処理およびオプションの引数のサポートを追加しました。
  • loadMovie、loadMovie、のloadVariables、loadVariablesNum、unloadMovie、unloadMovieNum、LoadVarsクラス、_lockroot、MovieClipLoader、XMLオブジェクト、XMLNode(AS2)のサポートが追加されました。
  • QName、Namespace、Loader、LoaderInfo、Stage、Matrix、Point、Rectangle、Transform、ColorTransform、Vector3D、URLLoader、URLVariablesオブジェクト(AS3)のサポートが追加されました。
  • 両端揃えのテキストのレンダリングを改善。
  • AS3に型強制を改善しました。
  • オブジェクトの初期化と施工の順序を改善しました。
  • ネストされたボタンに対してのon()ハンドラでのスコープを修正しました。
  • AS3の定数の問題を修正しました。

やはり、外部リソースをロードするための実験的サポートが追加されましたことが大きな目玉ですね。AS3の定数や例外処理など足回りも整ってきました。

外部リソースのロードをサポート(実験的に)

上記の外部リソースのロードについては以下にリンクがされています。

FAQ – Google Swiffy(externalresources)

言及されているのはここ。

Does Swiffy support loading external resources?

Swiffy has experimental support for loading external resources (such as text, images and SWF files) using various ActionScript classes such as MovieClipLoader (AS2) and URLLoader (AS3). To load an external .swf file, Swiffy expects the JSON generated by the Swiffy compiler in a .swf.json file with the same filename as the original resource.

訳すと以下のとおりです。

Swiffy外部リソースのロードをサポートしていますか?

Swiffyは、MovieClipLoaderの(AS2)とURLLoader(AS3)のような様々なActionScriptクラスを使用して、外部リソース(テキスト、画像、SWFファイルなど)をロードするための実験的なサポートをしています。外部swfファイルをロードするには、Swiffyは、元のリソースと同じファイル名を持つ。swf.jsonファイル内Swiffyコンパイラによって生成されたJSONを期待しています。

ということで、外部swfファイルをロードについては、ちょっと込み入ったルールがありそうですが、画像やテキストについては普段のやり方で読めそうです。

外部リソースロード、早速試してみる

これはためしてみるっきゃないということで、やってみました。シンプルにPNG画像をloadpartというムービークリップに読んでみます。

FLASH

まずはFLASHでの挙動。画面クリックするとロードされます。

別ページで開く 

実際のロード部分のコード

さて、押した時の実際のロード部分のコードです。今回はAS2でMovieClipLoaderクラスで書いてみました。

on( press ){
	var mcl:MovieClipLoader = new MovieClipLoader();
	// ロード状態を知らせる listener設定
	var listener:Object = new Object();
	listener.onLoadInit = function(loaded_mc:MovieClip){
		// ロードが完了したらtxtLoadInfoに状態を完了を知らせる
		_root.txtLoadInfo.text = "ロード完了 " + loaded_mc;
	}
	mcl.addListener(listener);
	// ロード開始
	_root.txtLoadInfo.text = "ロード開始";
	mcl.loadClip("image.png", _root.loadpart );
}

Swiffy

別ページで開く 

画面クリックすると無事ロードされました。ロード状態もうまくロード完了をでています。

おわりに

いかがでしたでしょうか。

外部リソースのロード、いままでのSwiffyとくらべて、設計の根幹を揺るがすような気もしますが、挑戦的な更新ですね。いざやろうとするとかなり苦労があったと思われます。応援したい!

今回のソースコードも以下においておきます。

Edge Animateデータダウンロード:google_swiffy_version_up_5_1.zip

それでは、よき Google Swiify Life を。