KANTENNA.COM

Solarized

HOME > WEBプログラム覚書 > Actionscript3 メモ5 [基礎]カスタムクラス

Actionscript3 メモ5 [基礎]カスタムクラス

自作クラスをカスタムクラスと呼ぶ。

属性キーワード

クラス、プロパティ、メソッドに利用できる属性

dynamic実行時に追加された dynamic プロパティをクラスのインスタンスで保有するよう指定します。
finalメソッドのオーバーライドまたはクラスの拡張を制限します。
internalクラス、変数、定数、または関数に同じパッケージ内のすべての呼び出し元からアクセスできるよう指定します。
nativeFlash Player がネイティブコードで関数またはメソッドを実装するよう指定します。
overrideメソッドで継承したメソッドを置き換えるよう指定します。
private変数、定数、メソッド、または名前空間を定義したクラスからのみアクセスできるよう指定します。
protected変数、定数、メソッド、または名前空間を定義したクラスとそのサブクラスからのみアクセスできるよう指定します。
publicクラス、変数、定数、またはメソッドにすべての呼び出し元からアクセスできるよう指定します。
static変数、定数、またはメソッドがクラスのインスタンスではなくクラスに属するよう指定します。

よく使いそうなabstractが無いのが意外です。将来の予約語ではあるみたいですが。 Flash的にabstractを使うような状況はあまりないのかな??

パッケージ

パッケージの階層はディレクトリの階層と同じになっている。 省略した場合、デフォルトパッケージと認識される。

命名規則

ファイル名とクラス名とコンストラクタは同じにする。

ボタンをクリックするとリンク表示

.fla

ActionScript3.0
  1.  var uc:UrlController = new UrlController();
  2.  
  3.  uc.setSiteData("KANTENNA", "http://www.kantenna.com/");
  4.  uc.setSiteData("ZAKU", "http://www.zaku055.com/");
  5.  uc.setSiteData("CaQuu", "http://www.caquu.com/");
  6.  
  7.  
  8.  bt.addEventListener(MouseEvent.CLICK, function(event:MouseEvent){
  9.   trace(this.constructor);
  10.   uc.viewUrl(root);
  11.  });

UrlController.as

ActionScript3.0
  1.  package {
  2.  
  3.   import flash.display.*;
  4.   import flash.text.*;
  5.  
  6.   public class UrlController {
  7.  
  8.   var urls:Array;
  9.  
  10.   public function UrlController():void {
  11.   this.urls = new Array();
  12.   }
  13.  
  14.   public function setSiteData(sitename:String, url:String):void {
  15.   this.urls.push(new Array(sitename, url));
  16.   }
  17.  
  18.   public function viewUrl(cont:*):void {
  19.  
  20.   var tfield:TextField = new TextField();
  21.  
  22.   tfield.multiline = true;
  23.   tfield.x = 250;
  24.   tfield.y = 50;
  25.   tfield.width = 250;
  26.   tfield.height = 250;
  27.  
  28.   var tformat:TextFormat = new TextFormat();
  29.   tformat.size = 20;
  30.  
  31.   var htmlString:String = "";
  32.  
  33.   for (var i:int=0; i<this.urls.length; i++) {
  34.   htmlString += '<a href="' + this.urls[i][1] + '">' + this.urls[i][0] + '</a><br>';
  35.   }
  36.  
  37.   tfield.defaultTextFormat = tformat;
  38.   tfield.htmlText = htmlString;
  39.   cont.addChild(tfield);
  40.   }
  41.   }
  42.  }

トラックバック(0)

コメント

コメントする
Name
Email Address
URL
TIME LINE
2012
02.10

[雑記]縦横がランダムな要素を隙間なく並べるのは無理なのか。

サイトマップ作ったんだけど、やりたかったことが出来なかった。

2012
02.08

[Ubuntu11.10]Winows XPユーザーがUbuntuを使ってみて

Windows XPとUbuntuのデュアルブート環境にしてみておもったこと。

2012
02.03

[jQuery]closest()とparents()

今から16年前Netscapeブラウザのソースコードの公開方法の会議の中で、初めてオープンソースという言葉が使われた今日、 みなさんいかがお過ごしでしょうか。

今回の投稿はそれとは関係のないjQueryのparents()とclosest()が 似てたので何が違うのか試した時のメモです。

2012
02.01

[jQuery Mobile]初期化イベントメモ

jQuery Mobileは読み込まれてから

mobileinit -> pagebeforecreate -> pagecreate -> pageinit

の順番でイベントが発生する。

2012
02.01

[WordPress]管理画面のフッタのフィルタとアクション。

時間も時間なので、あまり使用頻度の高くない微妙なネタを。

会員制サイトなどで不特定多数の人にログインさせる場合、フッタのバージョン情報は隠しておきたかったり、 こじゃれたメッセージを表示したいときとか使うアクションとフィルタ。

2012
01.28

[WordPress] ブログの情報を取得する方法とノーキャッシュ疑惑

ブログのget_bloginfo()で取れないデータが必要な場合に使うもの。

2012
01.26

[jQuery Mobile]ダイアログ

jQuery Mobileにおけるダイアログの扱いはウインドウではなくページ。 なので通常のページと同様に扱える。ダイアログウインドウを出す。じゃなくダイアログページに遷移する。的な。

2012
01.25

[Ubuntu11.10]Ubuntuのインストール後の設定

インストール完了後の環境構築。PC起動時いちいちBIOSからブートドライブ選んで ブートするのかと思ってたら起動時にOS選択画面が出てくる。

すばらしいですね。

2012
01.24