unity2d实例化和拖拽实现

发布于 2022-09-02 10:48:25 字数 859 浏览 42 评论 0

请问如何在Unity2d下实现点击鼠标左键后实例化出预制件并且在不松开左键的情况下能够拖拽物体?我只会实现点击鼠标实例化预制件。。不懂如何两个同时实现,求大神解惑。
以下是我自己写的,只能实现点击实例化:
public class ArrowController : MonoBehaviour {

public Transform arrowPrefab;
Vector3 mousePositionOnScreen;
Vector3 screenPosition;
Vector3 mousePositionInWorld;

void Start () {

}

void Update () {
    screenPosition = Camera.main.WorldToScreenPoint (transform.position);
    mousePositionOnScreen = Input.mousePosition; 
    mousePositionOnScreen.z = screenPosition.z;
    mousePositionInWorld = Camera.main.ScreenToWorldPoint (mousePositionOnScreen);
    if (Input.GetMouseButtonDown (0)) {
        Instantiate (arrowPrefab, mousePositionInWorld, Quaternion.identity);
    //这下面我就不知道怎么实现了
        if (Input .GetMouseButton (0)) {
            transform.position = mousePositionOnScreen; 
        }
    }
}

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野稚 2022-09-09 10:48:25

把实例化后的对象保存一下 鼠标移动的时候改变位置就行了

兮颜 2022-09-09 10:48:25

定义一个GameObjer Obj对象 实例化的赋值到这个对象上
Obj = Instantiate (arrowPrefab, mousePositionInWorld, Quaternion.identity);
Obj.transform.position = mousePositionOnScreen;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文