Unity,实例化预制上的类在对象之间是不同的

时间:2018-09-17 12:49:17

标签: c# unity3d

奇怪的问题-我有一个附有类对象的游戏对象。我实例化游戏对象,并为类对象分配来自现有类的数据。

然后我实例化一个附加了完全相同的类对象的第二个游戏对象,并为其分配与第一个对象相同的数据。如果我修改附加到第一个游戏对象的类,则它与附加到第二个游戏对象的类是不同的,即使它们都引用(或应该)引用相同的原始类。

谁能想到为什么会这样?

2 个答案:

答案 0 :(得分:0)

如果您要添加要在类中持久化的变量,则添加静态对象时,它将在两种情况下使用相同的实例,并且在修改一个时都对它们进行修改。

从unity3d自己的开发页面中检出敌人的敌人

https://unity3d.com/learn/tutorials/topics/scripting/statics

使用UnityEngine; 使用System.Collections;

public class Enemy
{
//Static variables are shared across all instances
//of a class.
public static int enemyCount = 0;

public Enemy()
{
    //Increment the static variable to know how many
    //objects of this class have been created.
    enemyCount++;
}
}

答案 1 :(得分:0)

它们是同一类的不同实例,它们没有引用同一类。 您应该编写一个重复方法来重复值