我有两个问题:


如果我有以下代码:

private boolean handleCollision(Rectangle_Double test)
{
    Rectangle_Double s = test;
    s.setLocation(s.X+xVelocity, s.Y);
}



我是否要修改Rectangle_Double中传递的内容?如果是这样,什么是复制并修改Rectangle_Double中传递的最佳方法?

其次,如果我要像这样在python中编写代码:

def handleCollision(collidedLands, testRectangle)
    s = testRectangle
    s.setLocation(s.X+xVelocity, s.Y)


我是否要修改传递给testRectangle的内容?如果是这样,复制传递的testRectangle并对其进行修改的最佳方法是什么?

谢谢!

最佳答案

我不会讲Java,但要回答Python问题:


是的,您正在修改testRectangle。
如果您不想修改它,请制作一个新的矩形并返回。


像这样,假设您有一个矩形的构造函数:

def handleCollision(collidedLands, testRectangle):
    newRectangle = Rectangle(testRectangle.X + xVelocity, testRectangle.Y)
    return newRectangle

10-08 12:03