F-siteのセミナーに行ってきました

11/15、国立オリンピック記念青少年総合センターにて行われたF-siteのセミナーに行ってきました。イベントの感想は記事の末尾で書くとして、感心したことを紹介します。

addEventLister を簡単にするテクニック

森 巧尚氏の「強引にやさしいAS3入門」でAS3のイベント登録の話題。ステージをマウスでクリックしたら、それが回転するようなサンプルを紹介されてました。例えば次のようなスクリプトがあったとします。

addEventListenerはスペルが長くて感覚的につかみづらいので、日本語の「に」で置き換えて読んでみてはどうかという提案です。

確かに日本語の感覚で文法を記述してみると、AS3に不慣れでも感覚がつかめて読めると思いました。

そこで、addEventListenerを「に」を置き換えてみる

セミナーでは野中さんが「に」を「addEventListener」として単語登録して会場を沸かせましたが、そのとき私が考えたのは「に」を本物のメソッド名にしてしまってはどうかということです。Flex SDKやCS3のビルドインのEventDispatcherを直接修正するという方法ももしかしたらあると思いますが、それはやりすぎな気がしましたのでカスタムクラス実装で検証してみたいと思います。

日本語ActionScript

まず前提として日本語をメソッド名にするわけですが、ASはUTF-8なので日本語で変数・メソッド名を設定することができます。そこで、スプライトを継承しメソッド「に」がキックされたときにaddEventListenerに接続するように組んでみました。
[source:javascript]
class Rect extends Sprite
{
    public function に(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
    {
        super.addEventListener(type, listener, useCapture, priority, useWeakReference);
    }
}
[/source]

こうすることでクラスRectには「に」というイベントを登録するメソッドが用意されます。使用方法としてはaddEventListenerと同様の記述をします。

[source:javascript]
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;

public class Main2 extends Sprite
{
private var sp:Rect;
public function Main2():void
{
sp = new Rect();
sp.x = sp.y = 100;

addChild(sp);

sp.に(MouseEvent.CLICK, doRotate);
}

private function doRotate(e:MouseEvent):void
{
sp.rotation += 45
}
}
}
[/source]

実行結果はこちらです。

どうせなら全部日本語でやってみては

せっかくなので「に」以外にも英語で書かれた部分をできる限り日本語に置き換えてみました。
[source:javascript]
package
{
public class Main3 extends ステージ
{
private var 図形:四角形;
public function Main3():void
{
図形 = new 四角形();
図形.のX座標 = 図形.のY座標 = 100;

表示する(図形);

図形.に(割り当てた.クリックされたときの処理は, 回転する);
}

private function 回転する(イベント:*):void
{
図形.の角度 += 45
}
}
}
[/source]
イベント登録のあたりはトリッキーなクラス名・メソッド名になってますが、直感的に掴みやすいでしょうか。これももちろん動作するスクリプトです(実行結果は上と同じ)。ちなみに紹介したソースはこちらからDLできます。

  • src (zipファイル / FlashDevelop3.0.9でFlex SDK 3.1を使用してます)

F-siteの感想

今回はProgression / AS3入門 / Flash CS4紹介 / 行列とベクトルというレジメでした。内容はいずれも面白く何度かうなずきながら聞いていました。以前Flash CS4をまとめましたがソフト上で実際に動かされているのを見るとワクワクしてきます。

F-siteのセミナーは2度目の参加でしたが、今回懇親会にも足を伸ばしてみることに。私的にはこういうFlasherが集まる懇親会に初めて参加したのですが、社外の人とリアルでFlashの会話をしたことがほぼ皆無でしたので新鮮でした。今後もこういった機会がありましたら参加していきたいと思いますのでよろしくお願いします。

↓ じゃんけん大会戦利品のFlash TシャツとCS4シールとAdobe金太郎飴

(iPhone – Toy Cameraで撮影)

投稿者 : 池田 泰延

BookMark

ブックマークはこちらからどうぞ。

このエントリーをはてなブックマークに追加

Comment/Trackback 2件