polygon类Java

时间:2014-07-28 00:17:57

标签: java 2d physics

所以我正在研究这个2-D物理脉冲引擎,我真的很想知道代码的每个部分发生了什么。在定义多边形的多边形类中,有一部分我根本不理解。

以下是代码的链接: https://github.com/ClickerMonkey/ImpulseEngine/tree/master/src/org/magnos/impulse

单击polygon类并向下滚动到名为public Shape clone()的方法。在这种方法中有“p.u.set(u);”。我不明白这是什么意思,甚至不知道什么意思。如果有人能够解释代码中的这一行是什么,我将不胜感激。

感谢阅读

1 个答案:

答案 0 :(得分:2)

首先要了解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.uMat2)的属性复制到子/克隆版本......