as2の学校2日目レポートでEventDispatcherのことも書こうと思っていたんですが、AS2のコードなので、AS3で開発を始めた今となっては使えねぇナァ、と思いつつヘルプなどを読んで自分なりにAS3版を作ってみました。

Main.as(ドキュメントクラス)

package {  
import flash.display.MovieClip;  
import flash.events.Event;  
public class Main extends MovieClip {  
public function Main() {  
var dispatcher:CustomDispatcher = new CustomDispatcher("aho");  
dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler);  
dispatcher.doAction();  
}  
private function actionHandler(event:Event):void {  
trace("actionHandler: " + event);  
trace(event.type);  
}  
}  
}  

CustomDispatcher.as

package {  
import flash.events.EventDispatcher;  
import flash.events.Event;  
class CustomDispatcher extends EventDispatcher {  
public static var ACTION:String;  
function CustomDispatcher(string) {  
ACTION = string;  
}  
public function doAction():void {  
dispatchEvent(new Event(CustomDispatcher.ACTION));  
}  
}  
}  

こんな感じでよいものなのか。

ActionScript2.0で学ぶ、オブジェクト指向プログラミングの講義を受けることになりました。
今日は1日目。
復習も兼ねてノートを羅列。
■AS1,2,3それぞれの特徴

AS1 AS2 AS3
大文字/小文字の区別 ×
型指定 ×
private/public変数 ×
クラス ×
コンパイルエラー
ランタイムエラー × ×

■オブジェクト指向プログラミングとは
これまで「順序」で考えていたプログラミングを、「物」を主体に考えていくプログラムの書き方のこと。
利点

  • 共同開発ができる。仕様変更に強い。
  • 使い回しができる。
    実際には「物」に「動作」と「性質」を付与していく。
    ここでいう「物」を「クラス」で作る。
    ■クラス
    クラスファイルは拡張子.as
    文字コードはUTF-8であること。
    クラスを使う時の概念は、ライブラリからMCをステージに配置する概念と同じ。
    クラスの要素
  1. 動作:メソッド(as1でいうところのファンクション)
  2. 性質:プロパティ(as1でいうところの変数)
  3. 初期化:コンストラクタ
  4. 予期せぬ動作:イベント
    クラスのインスタンス化
  5. 見た目なし>newクラス(var hoge:Class = new Class();)
  6. 見た目あり>MCと結びつける(リンケージから設定)
    extendsで継承
    クラスの性質を別のクラスに引き継がせることができる。
    ■Flashで扱える外部データ
  • テキストファイル
  • XML
  • Flash Remoting
  • Blaze DS
  • Flash Media Server
    など
    XML解析で必要になるヤツら
  1. firstChild - 長男
  2. childNodes - 子供たち[配列]
  3. attribute - 属性[オブジェクト]
  4. nodeValue - のあいだ
    他にも色々あるんだけど、とりあえず以上を覚えておけばどんなxmlでも解析できるゾ!
    …ほんとうにノートの羅列だった。
    以下はドットフェスで尾崎先生が言っていたことの備忘録
    モノ作りで大切なこと
  • 堅牢な骨組み
  • 親しみやすいデザイン
  • 直感的なUI
  • 実際の動作チェック
keyboard_arrow_up