マウスで物体を動かす
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour {
public float speed;
private Vector3 targetPosition;
private bool isMoving;
const int LEFT_MOUSE_BUTTON=0;
void Start()
{
targetPosition =transform.position;
isMoving=false;
}
void Update()
{
if (Input.GetMouseButton (LEFT_MOUSE_BUTTON))
SetTargetPosition ();
if (isMoving)
MovePlayer ();
}
void SetTargetPosition()
{
Plane plane = new Plane (Vector3.up, transform.position);
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
float point = 0f;
if (plane.Raycast (ray, out point))
targetPosition = ray.GetPoint (point);
isMoving = true;
}
void MovePlayer()
{
transform.LookAt (targetPosition);
transform.position = Vector3.MoveTowards (transform.position, targetPosition, speed * Time.deltaTime);
if(transform.position==targetPosition)
isMoving=false;
}
}