我正在为一艘潜水艇设计一个人工智能,当它在水面上时,它会“看到”护航队,但当它在水下时,它会预测护航队的位置。当我将车队的位置复制到潜艇类中的Vector2时,当车队的位置被更新时,这个Vector2仍然会被更改。那么,我怎么才能复制车队的位置,而不把这个位置与原船绑在一起呢?
发布于 2014-02-08 12:53:54
你试过:
Vector2 vec2 = new Vector2(vec1.X,vec1.Y);而不是
Vector2 vec2 = vec1;还没?
编辑:
您可以在数组/列表中运行并向新列表中添加一个新的向量。
for(int i=0;i<originalList.Count;i++){
newList.Add(new Vector2(originalList[i].X,originalList[i].Y));
}Edit2:
当您“复制”一个非原始变量(例如自定义类)时,您实际上进行了一个新的“引用”,而不是“复制”。为了复制一个副本,您必须创建一个新实例,并将原语从原始实例复制到新实例。
原始人。
https://stackoverflow.com/questions/21646128
复制相似问题