Unity3d-OnMouseAPI之選擇物體,移動物體。

一、簡單的場景

二、鼠標移向物體、選中、點擊、移動、離開。

1、鼠標移向物體



2、鼠標選中物體
首先移向物體



然后選中物體。

3.移動物體

三、下面是程序代碼
腳本:ApiOnMouseButton

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Reflection;

public class ApiOnMouseButton : MonoBehaviour {
public Renderer rend;
public Vector3 targetPos;
public Vector3 lastPos;

bool isdrag=false;//用來判斷物體是否被拖拽

void Start () {
rend = GetComponent<Renderer> ();
}

void Update () {

}
//當鼠標移動到物體上
void OnMouseEnter() {
if(!isdrag)
rend.material.color = Color.blue;

}
//當鼠標按下物體
void OnMouseDown(){
if(!isdrag){
rend.material.color = Color.yellow ;
lastPos = Camera.main.ScreenToViewportPoint( Input.mousePosition)-Camera.main.WorldToViewportPoint(transform.position);

}
}
//當鼠標拖拽物體
void OnMouseDrag(){
targetPos = Camera.main.ViewportToWorldPoint( Camera.main.ScreenToViewportPoint(Input.mousePosition)-lastPos);
transform.position = new Vector3 (targetPos.x, targetPos.y, targetPos.z);

isdrag = true;

}
//當鼠標離開物體
void OnMouseExit(){
if(!isdrag)
rend.material.color = Color.white;
}
void OnMouseUp(){
rend.material.color = Color.blue;
isdrag = false;
}
}

將腳本ApiOnMouseButton拖拽到物體身上即可運行~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容