マウスのボタンを押ししている間、指定した回転角に傾けるように、スクリプトを作成しましょう。
左クリックを長押しすれば、120°の方向へ回転。離せば、元の0°に戻ります。
関連記事:
90°回転して叩くような動き
回転軸を変えてオブジェクトを回す
マウスカーソルを追従しながらクリックで叩く
オブジェクトの先端をマウスカーソルに向ける
スプリングを使って棒を振るような動き
Updateの中で1回だけ実行する
マウスカーソルの方へ向ける
マウス長押しで回転
Cubeを作成し、Y方向へ拡大します。
CubeRotate.csを作成し、Cubeに追加します。
CubeRotate.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeRotate : MonoBehaviour { private bool isRotate; void Update() { if(Input.GetMouseButton(0) && isRotate == false) { transform.Rotate(0,0,120); isRotate = true; } if(Input.GetMouseButtonUp(0) && isRotate == true) { transform.Rotate(0,0,-120); isRotate = false; } } } |
ゲームプレイしましょう。
画面上でマウスボタンを長押しすると、120°に回転。
マウスを離せば元に戻ります。
GetMouseButton()だけでは、オブジェクトが回転し続けます。
そのため、isRotateのBooleanを使い、回転したかどうかの切り替えを行っています。
関連記事:
90°回転して叩くような動き
回転軸を変えてオブジェクトを回す
マウスカーソルを追従しながらクリックで叩く
オブジェクトの先端をマウスカーソルに向ける
スプリングを使って棒を振るような動き
Updateの中で1回だけ実行する
マウスカーソルの方へ向ける