静态变量存储1个类的值但不显示在第2类c#unity中?

时间:2017-06-29 08:01:44

标签: c# unity3d static

我有3节课。

  1. 我声明了2个游戏对象的静态类

    public static Gameobject attacker;
    public static Gameobject defender;
    
  2. 我选择攻击者和后卫的攻击组合 得到的场景并显示价值,

    staticclass.attacker = gameObject;
    Debug.Log("I am attacker" + staticclass.attacker);  
    
  3. 但它没有显示n类结果类的值,任何想法如何做

    1. diceresult

      Debug.Log(" ATTAKERRRRRRRRRRRR " + staticclass.attacker);
      
    2. 骰子结果在另一个场景中

1 个答案:

答案 0 :(得分:2)

当您制作GameObject,Component或任何源自Unity Object static的脚本/组件时, 销毁/清理加载新场景时。

如果您不希望发生这种情况,则必须在初始化后立即致电所有Unity DontDestroyOnLoad static个变量Object

DontDestroyOnLoad(attacker);
DontDestroyOnLoad(defender);