2008年12月25日

カスタムイベントにイベントオブジェクトをくっつける

ActionScript 2.0のときはイベントオブジェクトを手で作成していたので、簡単にカスタムデータが 追加できたが、ActionScript 3.0ではどうするのか分からなかった。 しかし下記のようにすればできる模様。 この例ではムービークリップが1回転したときにカスタムイベントを送出する。

// カスタムオブジェクトをイベントオブジェクトとして返す // カスタムイベントクラス MyEvent.as

package classes {

import flash.events.Event;

public class MyEvent extends Event {

    public var myObject:Object;

    public function MyEvent(obj:Object, eventType:String) {
        super(eventType);
        myObject = obj;
    }

    override public function clone():Event {
        return new MyEvent(myObject, type)
    }
}
}

// 定数ROTATEを定義するクラス Rotate.as

  package classes {

public class Rotate{
    public static const ROTATED = "onRotated";
}
}

// メインのドキュメントクラス Main.as // FLAファイルのタイムラインにはあらかじめrotate_mcを配置

    package {

import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
// カスタムクラスのインポート
import classes.MyEvent;
import classes.Rotate;

public class Main extends Sprite {

    // 回転数の初期化
    var rotationNum:int = 0;

    public function Main() {
        // 回転させるムービークリップ
        rotate_mc.addEventListener(Event.ENTER_FRAME, onRotation);
        // このクラスのインスタンスにイベントリスナーを登録
        addEventListener(Rotate.ROTATED, onOneCycle);
    }

    // 1回転するとき引き起こされるリスナー関数
    private function onOneCycle(evt:MyEvent):void {
        trace(evt.myObject.num + "回、回転した!");
    }

    private function onRotation(evt:Event):void {
        // ムービークリップを10度ずつ回転させる
        evt.target.rotation +=10;
        var num:Number = evt.target.rotation;

        // 1回転に達したら
        if (num > -10 && num<10) {
            rotationNum++;
            // 回転数のプロパティを持ったイベントオブジェクトの作成
            var obj:Object = {num:rotationNum};
            // カスタムイベントの作成
            var myEvt:MyEvent  = new MyEvent(obj, Rotate.ROTATED);
            // イベントオブジェクトの送出
            dispatchEvent(myEvt);
        }
    }
}
}

続きを読む "カスタムイベントにイベントオブジェクトをくっつける"

2008年10月24日

「詳説ActionScript 3.0」は11月中旬発売

前のブログで10月発売と申し上げた「詳説ActionScript 3.0」は11月中旬に発売されます。
1000ページを超える大著で、翻訳にもほぼ1年ほどかかりました。対象読者はActionScript初心者から中級以上、基本の基本から高度なトピックまで広範囲な情報が網羅されており、その細かさと正確性は一品です。as30.jpg

2008年10月 3日

詳説ActionScript 3.0

コリン・ムックの大著「Essential ActionScript 3.0」の翻訳本が「詳説ActionScript 3.0」というタイトルで10月に(たぶん)出ます。
原書が900ページ、これが日本語になると1000ページを超えるようです。
現在再校中で、(わたしの)直しはほぼない模様。
なんといいますか、1年ほどかかったのでしょうか(間に「初めてのActionScript 3.0」が入りましたが)、よくぞ終わったものではあります。
コリン自体はこの本を書くのに2年かかっています。
そうそう、コリンから日本の読者にメッセージが届くそうなのですが、それがまだ来てないです。
表紙の色校もまだ。

2008年7月29日

初めてのActionScript 3.0

翻訳本の4冊め。原題は「Learning ActionScript 3.0」。
オライリー・ジャパンより8月末頃発売。
Flash CS3ユーザー向けのActionScript 3.0入門書。各サンプルでタイムラインコードとクラスファイルコードの2種類を紹介している。
入門書ではあるが、基本的なことからかなり高度なことまで、たらふくになる内容。
わたしのActionScript 3.0の基礎はこの本と「Essential ActionScript 3.0」の翻訳で築かれた。
hajimeteAS30.jpg

2008年7月25日

Open Source Flash Development

Papervision3D、Red5、Fuse、AMFPHPなど、わたしの大好きなオープンソースによるFlashテクノロジーを集めて解説した本。開発用ツールもFlash CS3やFlex 3 Builderだけでなく、EclipseやFlash Developなどを紹介している。内容はかなり面白そうで、ぜひとも日本語に訳してみたい一冊。
ではあるが、アメリカのamazon.comでの売れ行きは必ずしも好調とはいえず、やはり受け皿は少ないのかなぁという印象。
しかし内容は本当に面白そう。opensourceFlash.jpg

2008年7月24日

Essential ActionScript 3.0

ActionScript界のマスター、コリン・ムックの大著。900ページある。
これでもかというくらい詳細にActionScript 3.0について書いた本。
内容は中級者向け。全部読んだら、当然のことながら知識はつく。
コリン・ムックとはコリンが来日したときに少し話をする機会があった。
非常にナイスガイで、親しみを持てた。
この本も実は翻訳して、秋ごろ発売予定。なにぶん日本語になると1000ページをこえるかもしれない大著なので、校正するにも大変。
esas30.jpg

Learning ActionScript 3.0

主にFlash CS3ユーザーに向けて書かれた、新たにActionScript 3.0を学ぼうとする人向けの入門書。とはいえ、内容はなかなか高度。
一番すぐれた点は、同じサンプルファイルとして、タイムラインコード(FLAファイル)とクラスファイル(ASファイル)の両方が提供されていること。
実はこの本の翻訳本が8月の終わりごろに発売される。
learnas30.jpg

2008年7月 4日

初めてのFlash Video

初の著作本。執筆に4ヶ月、見直しと校正に4ヶ月もかかった労作。書いているうちに新しいFlashが出てしまった。しかしこの頃は「ActionScript 3.0 アニメーション」の翻訳と平行していたので、まぁしかたがない。
中身は自信をもっておすすめできる。hajimeteFLV.jpg

ActionScript 3.0 アニメーション

翻訳本の3冊め。泣く子も黙るActionScript 3.0数学物理本の決定版。
翻訳の最中も結構泣いた本。
一番の収穫は、著者のキース・ピータースもかなり試行錯誤し、苦労しているということ。すいすいっとできる人などいないということはよーく分かった。
AS30Anime.jpg

Flash Video 教科書

翻訳本の2冊めだが、実は発売はこの本が一番先。
原書には足りない情報が多かったため、かなり補足を入れた。
flvideo.jpg