Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 修改另一类c中的变量#_C#_Unity3d - Fatal编程技术网

C# 修改另一类c中的变量#

C# 修改另一类c中的变量#,c#,unity3d,C#,Unity3d,在我的例子中,我必须调用变量“rotSpeed”。根据课程难度,相应地进行修改。我怎么称呼它 该变量位于另一个类中 public float rotSpeed = 90f; 这就是变量 我需要将其调用到此代码: public class Difficulty : MonoBehaviour { public float multiplyerx1 = .25f; public float multiplyery1 = .4f; public float multiplyerx2 = .25f;

在我的例子中,我必须调用变量“rotSpeed”。根据课程难度,相应地进行修改。我怎么称呼它

该变量位于另一个类中

public float rotSpeed = 90f;
这就是变量

我需要将其调用到此代码:

public class Difficulty : MonoBehaviour {

public float multiplyerx1 = .25f;
public float multiplyery1 = .4f;
public float multiplyerx2 = .25f;
public float multiplyery2 = .4f;
public Texture BackgroundTexture;


void OnGUI(){

    GUI.DrawTexture (new Rect (0, 0, Screen.width, Screen.height), BackgroundTexture);
    //Hard
    if (GUI.Button( new Rect(Screen.width * multiplyerx1, Screen.height * multiplyery1, Screen.width * .5f, Screen.height * .1f), "Hard")){
        //Put in change of rotspeed
        Application.LoadLevel("GameScene");
    }
    //Easy
    if (GUI.Button( new Rect(Screen.width * multiplyerx2, Screen.height * multiplyery2, Screen.width * .5f, Screen.height * .1f), "Easy")){
        //Put in change of rotspeed
        Application.LoadLevel("GameScene");
    }

}

将此字段设置为静态,如下所示:-

public static float rotSpeed = 90f;
ClassName.rotSpeed;
 private static float rotSpeed;
 public static float RotSpeed
   { 
        get { return rotSpeed; }
        set { rotSpeed = value; }

   }
 ClassName.RotSpeed;
并且具有此字段的类应该是静态的,但不是必需的,并且您可以按如下所示获取:-

public static float rotSpeed = 90f;
ClassName.rotSpeed;
 private static float rotSpeed;
 public static float RotSpeed
   { 
        get { return rotSpeed; }
        set { rotSpeed = value; }

   }
 ClassName.RotSpeed;
如果您的字段将来可能会发生变化,请使用如下所示的属性:-

public static float rotSpeed = 90f;
ClassName.rotSpeed;
 private static float rotSpeed;
 public static float RotSpeed
   { 
        get { return rotSpeed; }
        set { rotSpeed = value; }

   }
 ClassName.RotSpeed;
并按如下所示调用:-

public static float rotSpeed = 90f;
ClassName.rotSpeed;
 private static float rotSpeed;
 public static float RotSpeed
   { 
        get { return rotSpeed; }
        set { rotSpeed = value; }

   }
 ClassName.RotSpeed;

这个变量的值在任何时间、任何地点都会改变?试着将这个变量声明为私有的get,并使用getter和setter设置它们的值。不,这只是控制敌人旋转飞船的速度。因此,简单来说是60华氏度,困难的话是90华氏度。这意味着这个变量值会随着所选级别的变化而变化。请学习一些基本编程,由于缺乏基本编程能力而被否决。它帮助@RitsinStatic从来都不是最好的选择,因为影响是全类的。“任意更改”将更改所有其他访问的值。尝试使用实例变量。此外,决不允许直接变量访问,正如建议的那样,应始终通过属性访问