WebプログラミングT

 目次へ 前へ 次へ

2007/11/27 久米

4.ActionScriptの応用 モーションダイナミック制御(2)

4.3 ドラック&ドロップ

  方法 説明
1 インスタンスstartDrag() ドラッグ可能になる。だけ。
マウスで動かすためには、onPressイベントでstartDrag()を実行すればOK。
2 インスタンス.stopDrag() ドラッグ解除する。
  targetObj=eval(インスタンス._droptarget);

インスタンスがドロップされた所のオブジェクト(インスタンス)を調べる。
(インスタンス._droptargetはインスタンスがドロップされた所のオブジェクト文字列を
Flash5表示で返すため、eval関数でFlashMXのオブジェクト名に直した)

  if(targetObj==インスタンスA){
_x=targetObj.getX();
_y=targetObj.getY();
}
インスタンスAとドロップされた個所のインスタンスが一致したら
インスタンスのx座標、y座標をドロップされた個所のインスタンスと等しくする。
これを吸着と呼ぶ。

例題 Template\21\21.fla

Q 吸着(スナップ)がどの時点で発生するか?
A 相手インスタンスの外形とマウスの座標(x, y)が重なった時点(衝突判定の厳密と同等)

 

コラム  メインタイムラインのフレームアクションで
onLoadを使う時

対象となるMovieClipに、オブジェクトアクションが記述されていないとonLoadイベントが発生しない。

// だけでもいいので、書いておくこと 。