circle1.hitTestObject(circle2)

これでcircle1とcircle2との重なり判定し
重なっていたらtrueを返します。

ただし、判定は描画領域にではなく
オブジェクトを内包するギリギリの大きさの矩形領域です。

AS2のHitTestと似てるので載せるまでもないですね。

AS3になって描画領域で判定してくれるかも!と淡い期待をしていたので
身勝手な怒りをこめて。

できませんでした。

var sp:Sprite=new Sprite();
var id:uint

sp.id=2;//コンパイルエラー

MovieClipならできました。

var mc:MovieClip=new MovieClip();
var id:uint

mc.id=2;

無理なのかな?

イベント処理時の引数を渡す方法です。

var bt:Sprite=new Sprite();
bt.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler(50));

function rollOverHandler(_id:int) :Function{
    return function (e:MouseEvent):void{;
        trace(_id);//出力:50
    }
}

これでイベントプロパティは「e」で
リスナに設定した変数は「_id」で扱えるようになります。

ただ、CS3で自動フォーマットをかけると おかしくなるので注意です。

汎用性の高いクラス作ったのは良いけど、
結局タイムラインベースにスクリプト書いちゃってるのでフレームが移動すると
また、importからやり直し、というのをよくやってしまいます。

あまりにもいろんなところでimportするクラスに関しては
めんどうなのでグローバル化してしまうことにしています。

import Hoge;
_global.Hoge = Hoge

これでHogeクラスがどこでも使えるようになります。

UIコンポーネントにマスクを適用するときに
マスクレイヤーによる適用をするとラベルが消えてしまいます。

スクリプトのsetMaskによる適用なら問題ないらしいです。

知ってればほんと大したことないことなんですが
知らずに進めてて、後で修正ってなったときに偉いことになりそうなんで、とりあえず。

3  4  5  6  7  8  9  10  11  12  13