unity 关于2d物体点击后能拖动的代码
2019-04-16 09:35
585 查看
好几天没写博客了,懒散了。今天又开始记录了,关于前几天遇见的一些东西。 关于2D物体点击后能拖动的代码,必须加上2D的Collider 和钢体(Rigidbody 2D)不然脚本没用。
using UnityEngine;
using System.Collections;
public class Movement : MonoBehaviour {
private bool drag; // 如果被拖动,则为真 private Rigidbody2D myRigidbody; //如果我引用GameObject's Rigidbody2Ds被拖动,则为True private bool wasKinematic; // Flag indicating whether or not the Ridigbody // Use this for initialization void Start () { myRigidbody = GetComponent<Rigidbody2D>(); wasKinematic = myRigidbody.isKinematic; } // Update is called once per frame void Update () { if (drag == true) { DragFunction(); } } // 检查是否按下鼠标按钮 void OnMouseDown() { drag = true; myRigidbody.isKinematic = true; } // 检查鼠标按钮是否被释放 void OnMouseUp() { // 更新文件 if (drag == true) myRigidbody.isKinematic = wasKinematic; drag = false; } void DragFunction() { // 我们正在将2D鼠标坐标转换为3D float distance_to_screen = Camera.main.WorldToScreenPoint(gameObject.transform.position).z; Vector3 pos_move = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance_to_screen )); //更新GameObject位置 transform.position = new Vector3( pos_move.x, pos_move.y, pos_move.z ); }
}
相关文章推荐
- Unity2D中使用鼠标拖动物体移动
- Unity使用代码控制2d游戏物体(一)
- unity 鼠标拖动 物体旋转 点击变色 拖动移动
- Unity拖动物体代码
- unity区分点击在3D物体还是2D UI上
- Unity中关于2D游戏的鼠标点击事件和UI层级检测的大坑
- unity 2d鼠标拖动卡牌运动,发现鼠标与物体的实际运行位置不一致
- 在unity中对鼠标左键的点击事件和拖动区分开的语法
- Unity 关于GetComponentsInChildren 利用扩展方法如何避免获取父物体
- 一段拖动物体的代码
- unity实现鼠标点击后拖拽物体
- Unity学习笔记 之 发射小球碰撞物体的代码记录
- Unity学习笔记 之 发射小球碰撞物体的代码记录
- Unity中物体如何移动到鼠标点击位置
- 关于Unity在2D的UGUI和3D模型交错时渲染顺序的一点探讨
- 在unity中用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放
- KING_UNITY学习之Unity2D代码动态为Sprite Renderer的Sprite赋值sprite精灵图片
- Unity用代码给按钮添加点击事件
- Unity 2D角色控制脚本C#直接上代码
- Unity 物体拖动