因此,我正在研究这种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.uMat2)的属性复制到子版本/克隆版本中...

关于java - 多边形Java类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24986977/

10-10 04:53