マウスボタンを長押しすれば、オブジェクトが下のほうへ下降。
マウスボタンを離せば上昇して、もとの位置へ戻るように、スクリプトを作成しましょう。
左クリックを押したままにすれば、Sphereが下に降りていき、クリックボタンを離すと引っ張り上げて、Cubeの位置まで行きます。
関連記事:
マウス長押しで位置をズームアップ
キー長押しでゆっくり数を変化させる
ボタンを押しているときだけ間隔時間を縮める
ボタンを押した時間だけ飛距離アップ
ボタン押している間だけ実行する
Updateを使わずにn秒おきにずっと実行する
Updateの中でn秒おきにずっと実行する
特定の座標で移動を止める
マウスを押している間パワーをためる
指定した座標(目的地点)へ行く
長押しで下へ降ろし、離すと元の場所に戻る
CubeとSphereを作成し、Cubeを少し上のほうに配置します。
ゲームビューではこのように見えています。
Cubeの子オブジェクトとして、空のオブジェクトをつくりましょう。
Cubeを右クリックして、空のオブジェクトを作成。
GameObject(空のオブジェクト)をCubeから-1ずらします。
ここが、Sphereが戻ってくる位置になります。
Sphereを上昇、下降させるためのスクリプトを作成しましょう。
SphereMove.csを作成し、Sphereに追加します。
SphereMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SphereMove : MonoBehaviour { private float speed = 3.0f; [SerializeField] Transform target; void Update() { if(Input.GetMouseButton(0)) { transform.position = new Vector3 ( transform.position.x, transform.position.y - speed * Time.deltaTime, transform.position.z ); } else { transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime); } } } |
ターゲットのフィールドに、GameObjectを入れます。
ゲームプレイして動きを確認しましょう。
左マウスボタンを押しっぱなしにしているとSphereオブジェクトが下に降ります。
ボタンを離すと、Cubeの下につくったGameObjectまで行き、元の位置に戻ります。
関連記事:
マウス長押しで位置をズームアップ
キー長押しでゆっくり数を変化させる
ボタンを押しているときだけ間隔時間を縮める
ボタンを押した時間だけ飛距離アップ
ボタン押している間だけ実行する
Updateを使わずにn秒おきにずっと実行する
Updateの中でn秒おきにずっと実行する
特定の座標で移動を止める
マウスを押している間パワーをためる
指定した座標(目的地点)へ行く