[英]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.