【发布时间】:2015-03-07 23:05:41
【问题描述】:
我在“Paddle”类中创建了一个方法(changePaddleSize),并试图从另一个类“paddleMinimizer”中调用它。执行此操作时,我收到以下错误:
访问非静态成员 `UnityEngine.Component.transform' 需要对象引用
这是我的课程:
public class Paddle : MonoBehaviour {
public static void changePaddleSize(){
transform.localScale = new Vector3(2f, 0.5f, 1);
}
}
和
public class paddleMinimizer : MonoBehaviour {
public GameObject triggerText;
void OnCollisionEnter () {
Paddle.changePaddleSize ();
}
}
我显然做错了什么,但我该如何解决这个问题?如果有其他方法可以做到这一点,请告诉我。将不胜感激。
【问题讨论】:
-
您的
changePaddleSize函数是静态的,但它试图访问的transform属性不是。可能是您的paddleMinimizer对象应该引用特定的Paddle,或者您的Paddle类可能使用单例模式。 -
您可以尝试编辑我的代码以提供更好的视角吗?我对 Unity 和 c# 比较陌生。
标签: c# unity3d static static-methods