![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
AS3初心者です。
マウス移動するとムービークリップ(mc)が回転するスクリプトです。
下記では、マウスを左右どちらに動かしても右回転しかしません。
マウス右移動では、右回転に。マウス左移動では、左回転にしたいのですが・・・。
var rot_speed:Number = 0;
stage.addEventListener(MouseEvent.MOUSE_MOVE, function(event:MouseEvent){
rot_speed += event.stageX * 0.1;
msg.text = String(event.delta);
});
mc.addEventListener(Event.ENTER_FRAME, function(event){
rot_speed *= 0.3;
mc.rotation += rot_speed;
});
No.1ベストアンサー
- 回答日時:
前置きとして
msg.text = String(event.delta);
とは何でしょうか???
なぜそこにそんなもの(delta)がそこ登場するのかわからないので
とりあえず上の1行は無かったものとして無視します。
> マウス右移動では、右回転に。
> マウス左移動では、左回転にしたいのですが・・・。
そう書かれましても
具体的にどのように動かしたいかによって
考え方やスクリプトは変わりますよ。。。
例えば次のような感じにしたいということでしょうか?
//---スクリプト全文例----------------------
//過去のマウスの座標を保存する変数を用意
var old_mouseX:Number = stage.mouseX;
//マウスが動いたときに以下の function を実行
stage.addEventListener(MouseEvent.MOUSE_MOVE, function(event:MouseEvent){
//現在のマウスの座標を取得
var new_mouseX:Number = stage.mouseX;
//現在と過去のマウスの座標の差に適当な定数を掛けた値を取得
var rot_speed:Number = (new_mouseX - old_mouseX)*1.5;
//「mc」の回転をその角度だけ加算
mc.rotation += rot_speed;
//現在のマウスの座標を過去のマウスの座標として保存
old_mouseX = new_mouseX;
});
//-----------------------------------------
※注
mc.addEventListener(Event.ENTER_FRAME, function(event){…});
の部分を書いていないのは,
省略しているわけではなくて,不要なので削除しています。
=== === === === === === === ===
または,
わざわざ
mc.addEventListener(Event.ENTER_FRAME, function(event){…});
を用意されたのは
本当は回転する動きに重石を付けたかったからでしょうか?
つまり
例えば次のような感じにしたかったのでしょうか?
//---スクリプト全文例----------------------
//過去のマウスの座標を保存する変数を用意
var old_mouseX:Number = stage.mouseX;
//回転の目標角度を入れる変数を用意
var target_rotation:Number = mc.rotation;
//ダミーの角度を入れる変数を用意
var dummy_rotation:Number = mc.rotation;
//マウスが動いたときに以下の function を実行
stage.addEventListener(MouseEvent.MOUSE_MOVE, function(event:MouseEvent){
//現在のマウスの座標を取得
var new_mouseX:Number = stage.mouseX;
//現在と過去のマウスの座標の差に適当な定数を掛けた値を取得
var rot_speed:Number = (new_mouseX - old_mouseX)*1.5 ;
//回転の目標角度をその角度だけ加算
target_rotation += rot_speed;
//現在のマウスの座標を過去のマウスの座標として保存
old_mouseX = new_mouseX;
});
//1フレーム進む時間ごとに毎回以下の function を実行
mc.addEventListener(Event.ENTER_FRAME, function(event){
//ダミーの角度を目標角度に 1/8 ずつ近づける
dummy_rotation += (target_rotation-dummy_rotation)/8;
//「mc」の回転をその角度にする
mc.rotation = dummy_rotation;
});
//-----------------------------------------
※注
rotation は -180~180 の間の角度になります。
したがって直接 mc.rotation を加算減算すると
回転する動きがおかしくなるので
ダミーの角度を 加算減算 しておいた上で
mc.rotation をそのダミーの角度にするようにしています。
以上,
具体的にどのように動かしたいかがわからなかったため
一応2つのスクリプト例を回答してみました。
BlurFiltan 様
動きました。
わざわざ2つもありがとうございます。上のスクリプトでOKです。
過去と今の座標を引き算するのですね。
勉強になります。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- マウス・キーボード マウスのないパソコン 9 2022/03/30 10:53
- その他(ソフトウェア) IrfanView で画像のスクロール?できますか 1 2022/08/31 13:57
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- その他(コンピューター・テクノロジー) USBハブとPCとの通信状況について 2 2023/01/30 11:28
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- オンラインゲーム pc版fall guysでプロコンが反応しなくなりました。windowsです。プロコンをusb接続す 1 2023/02/14 17:33
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホでサイトの画像を長押し→...
-
Giam
-
potplayerについて質問です
-
flash (.swf) を編集したい
-
バナー広告の事に質問です! 広...
-
Flash Lite1.1について
-
Flashvars getURLの書き方
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動かした画像を元の位置に戻すには
-
MOUSE_MOVE マウスの動きと同...
-
MCを一定の間隔で吸着させた...
-
MCをブラウン運動させたい。
-
_x,_y指定の移動の方法(Flash l...
-
HSP あたり判定
-
[開発形態]UIレイアウトまでデ...
-
わからない・・・!!!
-
press座標とrelease座標からス...
-
下記のような運動をホームペー...
-
ムービークリップの初期座標
-
Flash mx2004 画質が劣化して...
-
画像のランダム配置からボタン...
-
mcの交点の座標を求める方法
-
Flashパブリッシュエラー
-
ボタンによるムービークリップ移動
-
photoshopで書いた四角の枠の中...
-
テキストボックスの中身をリセ...
-
python ボタンを押すと複数の関...
-
変数に256文字以上のテキストを...
おすすめ情報