Unity物体跟随鼠标的实现

这里主要实现的功能是:点击按钮,生成物体,当放开鼠标时,物体移动到固定位置(注明:采用的是NGUI插件)。

首先,要考虑到的是,按下鼠标、抬起鼠标两个事件的不同操作,所以采用的是UIEventTrigger,按下时为OnPress,抬起时为OnRelease。

给按钮添加事件监听(此处有多个按钮)(移除事件为Remove):

public void AddEvnetForButton(){
		for (int i = 0; i < count; i++) {
			//EventDelegate.Add (btns_Left [i].onClick, OnPressEvent);
			EventDelegate pressEvent = new EventDelegate (OnPressEvent);
			btns_Left [i].GetComponent<UIEventTrigger> ().onPress.Add(pressEvent);
			EventDelegate releaseEvent = new EventDelegate (OnRelease);
			btns_Left [i].GetComponent<UIEventTrigger> ().onRelease.Add(releaseEvent);
		}
	}
接下来写按下、抬起事件,其实就是生成一个预制体(obj = Instantiate (all_Parts)as GameObject;),此处要用到一个bool变量(比较懒没有去写委托),按下时为真,抬起时为假,在Update函数中判断其真假,为真时,物体跟随鼠标移动。
移动的代码,(此处+ new Vector3(0,0,600)是为了让其在屏幕深处,避免看不到):

if (isPress){
		obj.transform.position = Camera.main.ScreenToWorldPoint (Input.mousePosition + new Vector3(0,0,600));
	}

抬起事件中,将物体移到规定位置,并将bool值赋值为假。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

末零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值