- 締切済み
マウス以外でクリックするには?
今プログラミングでゲームを作っています。 マウスを隠して、ムービークリップをマウスと連動させてるのですが、マウスの方向と違う方向を動きます。 例。マウスが右に動けばムービークリップは左に動く。 そこで、今度はそのムービークリップがロールオーバーしたときにアクションが開始されるというものを作りたいのですが、どうすればいいでしょうか。 onRollOverだと、マウスがそのものの上を通ったときですよね。 これを、ムービークリップが動いたときにしたいのです。 わかりにくくてすみませんが、回答お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- U-inu
- ベストアンサー率66% (2/3)
これではダメでしょうか? ステージ上に"mouse_mc","test_mc"と名のついた二つのインスタンスと"test_txt"と名のついたダイナミックテキストを用意し、1フレーム 目に次のようなスクリプトを書きます。 Mouse.hide(); mouse_mc.onEnterFrame = function() { this._x = -_root._xmouse + Stage.width; this._y = -_root._ymouse + Stage.height; _root.test_txt.text = this.hitTest(_root.test_mc); }; これでマウスに連動したインスタンス"mouse_mc"が"test_mc"を通過したときの当たり判定が得られます。たぶん…。
- mr_araki
- ベストアンサー率85% (12/14)
MC同士が重なったときの当たり判定で対応できるかもしれません 以下に詳しいサンプルがあります http://hakuhin.hp.infoseek.co.jp/main/as/hittest.html
お礼
ご回答ありがとうございます。 早速試してみたのですが、実行できませんでした。 以下のプログラム(一部をコピペしてきました)に使用したいのですが、 start_ins.onRelease =を消して start_ins.hitTest(もうひとつのMC) に変えてみたのですが駄目でした。 お手数ですが、詳しい方法を教えていただければ幸いです。 start_ins.onRollOver = function() { ms0A = getTimer(); intervalIdA = setInterval(updateTimerA, 10); setOnA = true; this.enabled = false; }