我对XNA有疑问,我也是新手,在搜索谷歌后无法在文档中找到明确的答案。
问题1:
如果我这样做:
Rectangle afterMoveRect = collisionRectangle;
afterMoveRect.Offset((int)moveAmount.X, (int)moveAmount.Y);
我现在:
一个。 refference collisionRectangle与另一个名称,然后移动collisionRectangle
或
B中。创建了collisionRectangle的副本,只移动了副本。
第二个问题:
如果我这样做:
Matrix transform = localTransform;
transform = transform * otherTransform;
我是否创建了localTransform的副本并多次复制该副本,还是引用了localTransform并将其乘以另一个标识符?
两者的问题是一样的,我是否改变了原来的(可能是无意的)
问题3:
你怎么知道你是否更改了原件?您如何知道是否使用新名称引用原始名称(如在Java中)或在使用赋值运算符时创建其他对象的深层副本?