Box2.setFromCenterAndSize(center: Vector2, size: Vector2)
该方法用于从矩形的中心点和尺寸设置Box2
对象的属性。
center
:[Vector2
] 矩形的中心点坐标。size
:[Vector2
] 矩形的尺寸。该方法没有返回值,但是会修改Box2
对象的属性。
const box = new Box2();
const center = new Vector2(5, 5);
const size = new Vector2(2, 3);
box.setFromCenterAndSize(center, size);
Box2
是一个二维的矩形框类,用于描述平面中的矩形区域。Box2.setFromCenterAndSize()
方法通过矩形的中心点和尺寸来设置Box2
对象的min
和max
属性,这两个属性描述了矩形的左下角和右上角顶点的坐标。
该方法的实现如下:
setFromCenterAndSize(center, size) {
const halfSize = tempVec.subVectors(size, zeroVec).multiplyScalar(0.5);
this.min.copy(center).sub(halfSize);
this.max.copy(center).add(halfSize);
return this;
}
其中,tempVec
和zeroVec
是临时的[Vector2
]对象,分别表示中心点和尺寸向量的一半,subVectors()
表示两个向量的差,multiplyScalar()
表示将向量的每个分量乘以一个标量,copy()
表示将向量的值复制给另一个向量,add()
表示两个向量的和。