拖拽以及常用的鼠标事件,给物体添加力

来源:互联网 发布:淘宝如何申请分销 编辑:程序博客网 时间:2024/05/22 17:17
// 调用Unity的鼠标拖拽函数IEnumerator OnMouseDrag(){// 获取目标对象当前的世界坐标系位置,并将其转换为屏幕坐标系的点Vector3 Pos = Camera.main.WorldToScreenPoint(transform.position);// 设置鼠标的屏幕坐标向量,用上面获得的Pos的z轴数据作为鼠标的z轴数据,使鼠标坐标// 与目标对象坐标处于同一层面上Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Pos.z);// 用上面获取到的鼠标坐标转换为世界坐标系的点,并用其设置目标对象的当前位置transform.position = Camera.main.ScreenToWorldPoint(mousePos);// 等待下一帧对数据进行更新,实现目标对象的位移yield return new WaitForFixedUpdate();}



using UnityEngine;using System.Collections;public class test : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {        }    //void OnMouseEnter()    //{    //    print("当鼠标进入到GUIElement(GUI元素)或Collider(碰撞体)中时调用OnMouseEnter。");    //}    //void OnMouseOver()    //{    //    print("当鼠标悬浮在GUIElement(GUI元素)或Collider(碰撞体)上时调用 OnMouseOver .");    //}    //void OnMouseExit()    //{    //    print("当鼠标移出GUIElement(GUI元素)或Collider(碰撞体)上时调用OnMouseExit。");    //}    //void OnMouseDown()    //{    //    print("当鼠标在GUIElement(GUI元素)或Collider(碰撞体)上点击时调用OnMouseDown。");    //}    //void OnMouseUp()    //{    //    print("当用户释放鼠标按钮时调用OnMouseUp。");    //}    //void OnMouseUpAsButton()    //{    //    print("OnMouseUpAsButton只有当鼠标在同一个GUIElement或Collider按下,在释放时调用。");    //}    void OnMouseDrag()    {        Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);   // // 获取目标对象当前的世界坐标系位置,并将其转换为屏幕坐标系的点        // 设置鼠标的屏幕坐标向量,用上面获得的Pos的z轴数据作为鼠标的z轴数据,使鼠标坐标 // 与目标对象坐标处于同一层面上        Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, pos.z);        // 用上面获取到的鼠标坐标转换为世界坐标系的点,并用其设置目标对象的当前位置        transform.position = Camera.main.ScreenToWorldPoint(mousePos);    }}

键盘:

GetKey 当通过名称指定的按键被用户按住时返回true

GetKeyDown   当用户按下指定名称的按键时的那一帧返回true

GetKeyUp        在用户释放给定名字的按键的那一帧返回true。

GetAxis(“Horizontal")和GetAxis(“Vetical”) 用方向键或WASD键来模拟-1到1的平滑输入 


键盘判断:  

If(Input.GetKeyDown(KeyCode.A)){//KeyCode表示包含键盘所有键      print(“按下A键”); } 
If(Input.GetKeyUp(KeyCode.D)){//当按D键松开时     print(“松开D键”); } 
If(Input.GetAxis(“Horizontal")){//当按下水平键时     print(“按下水平键”); } 
If(Input.GetKeyUp("Vertical“)){当按下垂直键时     print(“按下垂直键”); }

鼠标:  
GetButton           根据按钮名称返回true当对应的虚拟按钮被按住时。  GetButtonDown      在给定名称的虚拟按钮被按下的那一帧返回true。 GetButtonUp        在用户释放指定名称的虚拟按钮时返回true。

鼠标判断: 
 
if(Input.GetButton("Fire1")){//Fire1表示按下鼠标左键         print(“按下鼠标左键”); } 
if (Input.GetMouseButton(0)) {//0表示鼠标左键      Debug.Log("按下鼠标左键"); } 
if (Input.GetMouseButton(1)) {//1表示鼠标右键      Debug.Log("按下鼠标右键");  } 
if (Input.GetMouseButton(2)) {//2表示鼠标中键      Debug.Log("按下鼠标中键"); } 

给物体施加普通力:

1、先给物体添加刚体 
2、transform.rigidbody.AddForce(0,0,1000);  




0 0
原创粉丝点击