奇怪的问题-我有一个附有类对象的游戏对象。我实例化游戏对象,并为类对象分配来自现有类的数据。
然后我实例化一个附加了完全相同的类对象的第二个游戏对象,并为其分配与第一个对象相同的数据。如果我修改附加到第一个游戏对象的类,则它与附加到第二个游戏对象的类是不同的,即使它们都引用(或应该)引用相同的原始类。
谁能想到为什么会这样?
答案 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)
它们是同一类的不同实例,它们没有引用同一类。 您应该编写一个重复方法来重复值