マウスの座標を得るには「mouseX」や「mouseY」を使い、
ムービークリップの左上を基準(0,0)とした、マウス座標を得るには
「mc.mouseX」「mc.mouseY」のようにすれば、ムービークリップから見た
マウスのローカル座標が得られます。
しかし、ムービークリップの height や scaleX などを書き換えて変形した場合、
マウスのローカル座標が実際のピクセルと異なって取得されてしまいます。
例えば二倍に拡大した場合、実際の 1 ピクセルは 0.5 ピクセルとなります。
mc_box.scaleX = 2; stage.addEventListener(MouseEvent.MOUSE_MOVE, function(){ trace(mc_box.mouseX); });
このズレを解消するには、元のムービークリップからの拡大率をマウス座標に掛けます。
trace(mc_box.mouseX * mc_box.scaleX);
もし他に根本的な解決策があればコメントよろしくお願いします。
Similar Posts:
- [AS3.0]オブジェクトを複製してドラッグ操作する
- Flash ファイルアップロード AS3.0
- [AS3.0]ある座標を中心に回転させる
- [JS]HTML5 Canvasを使ったライフゲーム
- [JS]画像ファイルアップロード前にプレビューを表示する
- [PHP]3次スプライン曲線を使ったスプライン補間
- [PHP]マジックメソッドを使ったアクセサ(__get, __set)
- [PHP]画像を上下反転、左右反転する(垂直・水平方向の鏡像)