2008年11月アーカイブ

CSSでもまぁ<table>は使うことはたまにあって
思い起こせばその都度ハマってる気がするのでメモ。

table#hoge
{
  border-collapse: collapse;
}

AS3になってから、hitAreaの扱い方がすこし面倒くさくなったなぁ。
設定したhitAreaよりも上のレイヤーにMovieClipが重なると、hitAreaのマウス反応が拒否されて、その瞬間に"MOUSE_OUT"な状態になる。
つまり、MOUSE_OVER時にそのMovieClipボタン内でMovieClipアニメーションをつけたりする場合、そのアニメーションの動きによっては前述のような具合でMOUSE_OVERが解除されてしまう。
てことで、MovieClipボタンが内包しているMovieClipたちに、マウス反応させなきゃいいので

btnMovieClip.mouseChildren = false;

としておけば、純粋に、設定したhitAreaにのみ反応するようになる(要するに内包するMCからのバブリングが一切なくなる)。

...というのをついこないだ突き止めて、AS3触り始めの頃の数案件について、悔しい気分になりました、という話。
"mouseChildren"の存在に気付いてなかったorz

小一時間はまったのでメモ。

親swfに外部swfを読み込んで、その外部swfから親に記述されている関数を呼び出すには、てことで。

外部swf読み込み系って、読み込んだ外部swf自体の消去を親にやってもらう、ていう考え方自体どうなんだろう、て常々思ってるけど検証はいずれ暇になったら。
というかこの外部swfから親swfの関数呼び出しにしたって、なかなかベストプラクティス的な情報がなくて苦労したよ、低知識者としては...。

/* ----- 読み込む親swf ----- */
//子swfから起動する関数
function oyaFunc():void
{
      //処理
}

/* ----- 読み込まれる子swf ----- */
var ld:Loader = loaderInfo.loader; 
var mainTimeline:MovieClip = ld.root as MovieClip;

//親で設定されている起動したい関数
function hogeChild():void
{
      mainTimeline.oyaFunc();
}

子swfの中で loaderInfo.loader; でもって自分の立ち位置をはっきりさせつつ、親のタイムラインを参照してやるわけですか。一気に色んなFLASHerブログ漁っていつの間にかこう至った。

このアーカイブについて

このページには、2008年11月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年10月です。

次のアーカイブは2008年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。