簡単なコンポーネントの作り方を例に、ActionScript3.0用コンポーネントの作成方法をご紹介します。
サンプルファイルgetURL.zip(.zipファイル 32KB)をダウンロードし解凍します。
package{
//必要なパッケージの読み込み
import flash.display.MovieClip;
import flash.events.EventDispatcher;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.navigateToURL;
public class getURL extends MovieClip{
protected var __url:String = "URL";
protected var __target = "target";
protected var __preTarget = "no";
protected var __window = "_blank";
//コンストラクタ関数
public function getURL(){
//初期化
visible = false;
super();
}
//コンポーネントインスペクタで変更可能な変数urlの定義-------------------------------------------
[Inspectable(defaultValue="URL", name="URL")]
public function get url():String{
return __url;
}
public function set url(nVar:String):void{
__url = nVar;
}
//-----------------------------------------------------------------------------------
//コンポーネントインスペクタで変更可能な変数windowの定義---------------------------------------
[Inspectable(defaultValue="_blank", name="target")]
public function get window():String{
return __window;
}
public function set window(nVar:String):void{
__window = nVar;
}
//-----------------------------------------------------------------------------------
//コンポーネントインスペクタで変更可能な変数targetBtの定義---------------------------------------
[Inspectable(defaultValue="target", name=" Trigger Button Name")]
public function get targetBt():String{
return __target;
}
public function set targetBt(nVar:String):void{
var MC:MovieClip = MovieClip(this.parent);
if(__preTarget !== "no"){
MC[__preTarget].removeEventListener(MouseEvent.CLICK , onClick);
}
//指定したインスタンスにリスナーを登録する
__target = __preTarget = nVar;
MC[__target].addEventListener(MouseEvent.CLICK , onClick);
}
//-----------------------------------------------------------------------------------
//リスナー関数
private function onClick(event:MouseEvent){
//URLRequest
var U:URLRequest = new URLRequest( __url);
//指定先URLにリンク実行
navigateToURL(U,__window);
}
}
}
<macromedia-extension
name="Basic Action Button"
version="1.2.0"
type="flashcomponentswc"><author name="ロクナナワークショップ" />
<products>
<product name="Flash" version="9" primary="true" />
</products><description>
<![CDATA[
ActionScript3.0でノンスクリプトで基本的なコンテンツを作るためのコンポーネントセットです。
基本動作のをそのままフレームに配置したり、ボタンUIコンポーネントと組み合わせて使用します。
詳しい使い方はこちら http://deepdive.67.org/components/ で確認してください。
]]>
</description><ui-access>
<![CDATA[
rokunana Inc. / ロクナナワークショップ
Copyright (C) rokunana & Co. All Rights Reserved.
]]>
</ui-access><license-agreement>
<![CDATA[
このコンポーネントは無保証、無サポートです。
Copyright (C) rokunana & Co. All Rights Reserved.
]]>
</license-agreement><files>
<file source="getURL.swc" destination="$flash/Components/Basic Action Button" />
</files></macromedia-extension>