繁体   English   中英

拖放 C# (Unity 2D)

[英]Drag and Drop C# (Unity 2D)

所以我是一个新手 Unity 开发人员,正在制作一个涉及拖放系统的游戏,我看了一个教程并得到了朋友的帮助,但它不起作用......我得到的一个错误是它说 public 不是有效的或任何东西,对于私人来说都是一样的。

public class Draggable : MonoBehaviour
{
Vector2 difference = Vector2.zero;
}
private void OnMouseDown()
{
difference = (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
}
private void OnMouseDrag()
{
transform.position = (Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition) - difference;
}

这是错误的图片

您的函数是在 class 之外编写的。 更正括号。

public class Draggable : MonoBehaviour
{
    Vector2 difference = Vector2.zero;
    private void OnMouseDown()
    {
        difference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
    }

    private void OnMouseDrag()
    {
        transform.position = (Vector2) Camera.main.ScreenToWorldPoint(Input.mousePosition) - difference;
    }
}

您的方法在 class 的 scope 之外,确保移动到块“{}”内的 class 的主体中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM