unity實現滑鼠點選後拖拽物體
我們經常要在unity中實現,滑鼠點選物體後,選中物體。然後物體跟隨滑鼠,直到拖拽到指定物體位置,也就是吸附到指定物體上去。
(1)此案例中有兩個物體。
(2)tougu001和tougu002,附加的程式碼分別是 BLtougu001和BLTriggerTouGu002
(3)tougu001 Inspector面板如下:
(4)tougu002 Inspector面板如下:
(5)tougu001 程式碼
using UnityEngine;
using System.Collections;
public class BLtougu001 : MonoBehaviour {
public BLTriggerTouGu002 m_BLTriggerTouGu002;
public float mousestate = 0f;
public Vector3 V3;
public Camera cam;
RaycastHit hit;
// Use this for initialization
void Start () {
V3 = transform.position;
cam = GameObject.Find("Main Camera").GetComponent<Camera>();
}
// Update is called once per frame
void Update () {
Ray ray = cam.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit) && Input.GetMouseButtonDown(0)&&hit.transform.gameObject.name == "tougu001")
{
mousestate = 1;
}
else if (Input.GetMouseButtonUp(0) && m_BLTriggerTouGu002.tougustate == 0)
{
mousestate = 0;
transform.position = V3;
}
else if (Input.GetMouseButtonUp(0)&& m_BLTriggerTouGu002.tougustate==1)
{
mousestate = 0;
}
if (mousestate == 1&& m_BLTriggerTouGu002.tougustate!=2)
{
Vector3 Pos = Camera.main.WorldToScreenPoint(transform.position);
Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Pos.z);
transform.position = Camera.main.ScreenToWorldPoint(mousePos);
}
}
}
(6)tougu002 程式碼
using UnityEngine;
using System.Collections;
public class BLTriggerTouGu002 : MonoBehaviour {
public BLtougu001 m_BLtougu001;
public GameObject tougu;
public float tougustate = 0f;
private AudioSource audio_BLTriggerTouGu002;
// Use this for initialization
void Start () {
tougu = GameObject.Find("tougu001");
audio_BLTriggerTouGu002 = GetComponent<AudioSource>();
}
// Update is called once per frame
void OnTriggerStay(Collider col)
{
if(tougustate!=2)
tougustate = 1;
if (col.tag == "touGu" && m_BLtougu001.mousestate == 0 && tougustate==1)
{
tougu.transform.position = transform.position;
tougustate = 2;
transform.parent.SendMessage("CountBone", true);
audio_BLTriggerTouGu002.Play();
}
}
void OnTriggerExit(Collider col)
{
if (tougustate != 2)
{
tougustate = 0;
}
}
}
相關推薦
unity實現滑鼠點選後拖拽物體
我們經常要在unity中實現,滑鼠點選物體後,選中物體。然後物體跟隨滑鼠,直到拖拽到指定物體位置,也就是吸附到指定物體上去。 (1)此案例中有兩個物體。 (2)tougu001和tougu002,附加
Unity實現滑鼠點選地面的任意位置,則角色會立即走到滑鼠點選的位置
一、建立一個角色,並給角色新增 CharacterController 控制器,這裡以簡單的Capsule物體作為角色示例,如下所示: 二、編寫控制角色移動的指令碼 RayDemo2_CCWalking.cs /*** * * Title: * 射
H5實現多圖片預覽上傳,可點選可拖拽控制元件介紹
在做圖片上傳時發現一個蠻好用的控制元件,支援多張圖片同時上傳,可以點選選擇圖片,也可以將圖片拖拽到上傳框直接上傳,方便,好用,介面也簡單,基本可以直接放到專案裡使用。 先看看他的樣式: 選擇圖片後
【IOS】實現IOS版的抽屜效果(點選,拖拽滑動)
原文連結:http://blog.csdn.net/toss156/article/details/7400065 好像最近,看到好多Android上的抽屜效果,也忍不住想要自己寫一個。在Android裡面可以用SlidingDrawer,很方便的實現。IOS上面就只有自
Jquery滑鼠點選後變色,點選另一個按鈕顏色還原
轉載一個! Jquery滑鼠點選後變色,點選另一個按鈕顏色還原 <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
原生js實現滑鼠點選切換效果
今天之所以寫一篇關於js的程式碼實現,一方面是因為個人習慣用jquery編寫程式碼,另一方面是因為github這個大平臺拋棄了jquery。 Jquery是一個js庫,極大簡化js程式設計,使用方便,相容性好,這篇文章就以一個例子來說明jq和js的編寫差別。 首先我們看一下效果圖:
Unity射線/右鍵點選某一點會使物體跟隨至滑鼠點選位置/計算目標物體距離滑鼠點選位置的距離
public class MyRay : MonoBehaviour { public GameObject GameObject;//要例項化的物體 粒子特效 public GameObject Player; private Animation ani;
Unity中滑鼠點選控制人物移動,就像英雄聯盟一樣
首先,建立一個Cube和Plane using System.Collections; using System.Collections.Generic; using UnityEngine; public class Move : MonoBehavi
Unity射線&自動尋路/右鍵點選某一點會使物體跟隨至滑鼠點選位置/計算目標物體距離滑鼠點選位置的距離
public class MyRay : MonoBehaviour { public GameObject GameObject;//要例項化的物體 粒子特效 public GameObject Player; // private Animation ani; priva
[原始碼和文件分享]使用mouse_event函式實現滑鼠點選模擬
背景 如果你對外掛有過一些瞭解,那麼滑鼠、鍵盤的模擬功能,肯定是學外掛的入門必修技術。所謂的滑鼠模擬、鍵盤模擬,就是不需要物理點選、物理按鍵,純粹使用程式設計手段,實現和物理點選、物理按鍵相同功能的操作。 當然,根據使用的程式設計技術,不同模擬效果也不同。初學者必修的當然是在應用層使用mou
qcustomplot滑鼠點選後在座標軸顯示值
首先上圖看下要實現的效果:即圖中有兩條曲線,滑鼠點選後顯示橫座標的值,以及與兩條曲線交點的縱座標的值。注意:本例只是實現了座標值的顯示,所以顯示的值和曲線值不符,滑鼠點選的事件可以自行實現。參照網址:http://www.qcustomplot.com/index.php/t
unity實現滑鼠框選和單選物體
今天分享一下這兩天寫的一些程式碼,關於如何在unity中實現滑鼠框選物體,達到類似於在windows下選擇檔案的目標。第一次接觸unity的時候做了一個簡單的遊戲,當時就是卡在了滑鼠選擇這一步上,後來由於時間關係也沒有去深入研究,這幾天有時間又拿出來看了一下,發現其實很簡單,
UGUI下UI的點選和3D的點選與拖拽
using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.EventSystems; public class ObjCheck : MonoBehaviour ,IBeginDragHandle
iOS抽屜效果、二級選單(點選,拖拽滑動)
好像最近,看到好多Android上的抽屜效果,也忍不住想要自己寫一個。在Android裡面可以用SlidingDrawer,很方便的實現。IOS上面就只有自己寫了。其實原理很簡單就是 UIView 的移動,和一些手勢的操作。 // //
IOS點選效果實現及點選後物件引數的傳遞
IOS點選實現的方式: 1、使用UIButton,這個不用說大家都知道: UIButton *btn=[[UIButton allloc] init]; [btn addTarget:self action:@selector(OnTapBtn:) forControlEv
js實現滑鼠點選獲取相對於整個頁面的位置
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head>
Android Instrumentation 模擬點選、拖拽、傳送keycode、焦點異常丟失。
Instrumentation模擬點選,拖拽,向系統傳送keycode。 需要注意的幾點: Android系統座標系,X軸正方向為右,Y軸正方向為下(與數學座標系相反) 所有事件在傳送時均需要在Thread中執行,否則會報異常。 模擬輸入法種特殊
Egret滑鼠點選後產生一個子彈
建立一個bullet類: class bullet extends egret.Sprite{ public constructor(color,x,y,r){ //建構函式。 super(); //繼承 var bullet_obj=
Unity—實現滑鼠拖拽
滑鼠拖拽好像只能用於UI物件,暫時好像是這樣的,如有誤,我後面會更新。一:NGUI實現 NGUI的更簡單,只需直接覆寫OnDragRelease()方法//拖拽結束時呼叫 protected override void OnDragDropRelease(GameObj
unity 滑鼠拖動 物體旋轉 點選變色 拖動移動
public Camera camera; Ray ray; RaycastHit hitInfo; Vector3 offset; GameObject obj;//獲取點選到的物體 public GameObject tr