新建一个plane物体作为地形,新建cube和一个脚本Cube1,将该脚本挂到cube上,代码如下:
- using UnityEngine;
- using System.Collections;
- public class Cube01 : MonoBehaviour
- {
- private float timeHit;
- void Awake()
- {
- timeHit = 0f;
- }
- void Update()
- {
- timeHit += Time.deltaTime;
- if (Input.GetMouseButton(0) && timeHit > 0.2f)
- {
- timeHit = 0f;
- RaycastHit hit;
- Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
- if (Physics.Raycast(ray, out hit))
- {
- if (hit.collider.gameObject.tag == "Terrain")
- {
- //因为cube的中心点高0.5,所以Y坐标加0.5f
- transform.position = new Vector3(hit.point.x, hit.point.y + 0.5f, hit.point.z);
- }
- }
- }
- }
- }
OK,完成!