因此,我正在研究这种2D物理脉冲引擎,我真的很想知道代码各部分的内容。在定义多边形的面类中,有一点我根本不了解。
这是代码的链接:
https://github.com/ClickerMonkey/ImpulseEngine/tree/master/src/org/magnos/impulse
单击多边形类,然后向下滚动到名为public Shape clone()的方法。在此方法中有“ p.u.set(u);”。我根本不了解这是什么意思,甚至是什么意思。我将感谢任何可以解释代码中这一行内容的人。
谢谢阅读
最佳答案
首先了解Polygon
扩展Shape
...
public class Polygon extends Shape
在
Shape
中,它将u
定义为public final Mat2 u = new Mat2();
。因此,在
Polygon#clone
中,它首先创建Polygon
的新实例,并使用u
的当前实例设置该新实例的u
对象。Polygon p = new Polygon();
p.u.set( u ); // or p.u.set( this.u ); if it's easier to understand...
现在,在
Mat2
中,set(Mat2)
方法只是将参数的属性复制到其自身的值中...public void set( Mat2 m )
{
m00 = m.m00;
m01 = m.m01;
m10 = m.m10;
m11 = m.m11;
}
因此,基本上,这是将父
Polygon.u
(Mat2
)的属性复制到子版本/克隆版本中...关于java - 多边形Java类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24986977/