- 締切済み
マウス操作で回転と平行移動の両方を
マウスドラッグで平行移動はビヘイビアからも選べますね。勿論、スクリプトを書いても良いけど。でも、マウス操作で回転と平行移動の両方の動きをさせたいです。フラッシュのスクリプトで可能でしょうか? 可能であれば、どう書けばよいでしょうか?教えてください!
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
> 回転と平行移動の両方の動きをさせたい ご質問がいまひとつわかりませんが。 とりあえず新規ドキュメントを作成して, ステージ中央付近に 3cm×2cm くらい(適当)の四角い塗りを描いて, その四角い塗りを選択してムービークリップに変換します。 そしてそのムービークリップ自体に次のように書けば, そのムービークリップがドラッグできるようになりますよね。 ---------------------------------------- // この MC(ムービークリップ) を押したとき on (press) { // ドラッグ開始(中央ロック(この場合は無),左,上,右,下) this.startDrag(false, 100, 80, 400, 300); } // // この MC(ムービークリップ) を放したとき on (release, releaseOutside) { this.stopDrag(); } ---------------------------------------- ここまでは良いとしてこの先がいまひとつよくわかりませんが, ドラッグしている最中にさらに回転を加えるということですか? もしそうでしたら, 上のスクリプトを次のように書き替えると良いと思います。 ---------------------------------------- // このMC(ムービークリップ)が表示されたとき onClipEvent (load) { // 押したというフラグ flg を false にする flg = false; } // // この MC(ムービークリップ) を押したとき on (press) { // ドラッグ開始(中央ロック,左,上,右,下) this.startDrag(false, 100, 80, 400, 300); // 押したというフラグ flg を true にする flg = true; } // // この MC(ムービークリップ) を放したとき on (release, releaseOutside) { this.stopDrag(); // 押したというフラグ flg を false にする flg = false; } // // 1フレーム進む時間毎に随時実行 onClipEvent (enterFrame) { // flg が true であるときだけ以下を実行 if (flg) { // 回転を 5 度ずつ加算 this._rotation += 5; } } ---------------------------------------- これだと右回転しますが,最後の // 回転を 5 度ずつ加算 this._rotation += 5; この部分を, // 回転を 5 度ずつ減算 this._rotation -= 5; に変更すると左回転になります。 こんな感じで良いのでしょうか?
- iyaiyaview
- ベストアンサー率66% (6/9)
> フラッシュのスクリプトで可能でしょうか? > 可能であれば、どう書けばよいでしょうか? どちらも調べられると思いますが。 どっかの宿題ですか。 _rotationで回転できます。
お礼
ご回答ありがとうございます。 このご回答は、マウスの左クリック(ドラッグすると)MC(ムービークリップ)が回転しながら平行移動するスクリプトですね。ありがとうございます。感謝です。 でも、このままでは制御が難しいので、例えばマウスの左クリックでは平行移動、右クリックでは回転というような動きができれば素晴らしいのですが・・・ そのようなことも可能でしょうか?