我正在制作一个RTS风格的游戏,我有一个错误:
错误CS0120:访问非静态成员`CameraOperator.InvertMouseY(float)'
需要对象引用
以下是包含错误的脚本:
camPos.y = CameraOperator.InvertMouseY (camPos.y);
我被告知要做一个实例,但不知道该怎么做。 我被告知要使用,但不知道如何写它。如果它取代整行或只是部分。
CameraOperator co; co.InvertMouseY(camPos.y);
这是完整的脚本
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Unit2 : MonoBehaviour
{
public bool selected = false;
private void Update ()
{
if (renderer.isVisible && Input.GetMouseButtonDown (0)) {
Vector3 camPos = Camera.main.WorldToScreenPoint (transform.position);
camPos.y = CameraOperator.InvertMouseY(camPos.y);
selected = CameraOperator.Selection.Contains (camPos);
}
if (selected) {
renderer.material.color = Color.red;
} else {
renderer.material.color = Color.white;
}
}
}
答案 0 :(得分:0)
你试图调用CameraOperator
的成员函数而没有声明类的实例。
同样InvertMouseY()
似乎被声明为成员函数,需要有一个实际类的实例才能被调用。
答案 1 :(得分:0)
CameraOperator
是课程,您尝试拨打InvertMouseY
,就像它是静态函数一样。
您需要一个实例,
CameraOperator co;
co.InvertMouseY(camPos.y);