- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:拡大するとマウスのローカル座標が変わってしまう)
拡大するとマウスのローカル座標が変わってしまう
このQ&Aのポイント
- 四角形の左上から見たマウスの座標を取得する方法について考えています。
- 移動や回転を行う四角形のローカル座標を利用してマウスの座標を取得しようとしていますが、拡大すると表示される座標が正しくない問題があります。
- 四角形の左上隅が(0,0)になるように回転させる方法について知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
MCからのマウスの座標=stageのマウスの座標-MCの座標 この考え方↑で MCからのマウスの座標を求めれば良いのはないでしょうか? または 拡大・回転するMCの基準点の座標に 常に別の空のMCまたはスプライトを常に追従させて その別のMCまたはスプライトからのマウスの座標を求めるとか。 ================ それと, > 回転させても四角形の左上隅が(0,0)になるようにしたい この解釈が色々できるのですが。。。 四角形ABCDを入れたMCがあったとして その四角形の初期状態は AB DC という状態で,MCの基準点は 頂点A にあるものとします。 この四角形MCが例えば右回転して DA CB の状態になったとします。 そのときにも変わらず 頂点A からのマウスの座標を求めるのでしょうか? もしそうでしたら上に書いた方法でできると思います。 しかし 上のような状態になったときには 頂点D からのマウスの座標を求めるように変更するのでしょうか? もしそうでしたら上の方法ではできません。 さらにまた A DB C みたいに斜めになったときはどこを基準にするのかなどを決めないと何ともできないでしょう。 例えば, getBounds() メソッドを使えばなんとかなるかもしれませんし 場合によっては, 回転させるのは親MCの中に入れた子MCにして 親MCからのマウスの座標を求めるようにするとか 何か根本的に別の方法を考える必要があるかもしれません。
お礼
基準点の解釈としては、回転しても常にAが(0,0)で、Bが(x,0)となるようにしたいと思っています。 上の方法を試してみます。ありがとうございました。