physics_fixture_add_point

此函数定义之前已使用 physicals_fixture_set_polygon_shape 设置到固定装置的多边形点,或者它可用于使用函数 physicals_fixture_set_chain_shape()。对于多边形形状,这些点相对于固定装置的原点,以 x/y 轴的 0,0 位置为中心,随后的坐标按照 GameMaker 中的向下 / 向右计算为 +x,+y,上 / 左为 -x,-y。下面的插图可以帮助您直观地了解此过程:

Physics polyfon points example如您所见,任何简单的多边形都可以通过这种方式进行建模,但此时支持多边形。最后,要关闭多边形,必须将装置绑定到实例。还应注意,在将多边形绑定到实例之前,还必须至少为其定义三个点,否则将出现错误,并且向以前未设置多边形形状的装置添加点也会导致错误。请注意,装置允许的最大点数为

对于链条形状(这些形状仅仅是一系列连接的边形),此函数将设置一个点作为"连接",以便将边链接在一起。因此,在将装置绑定到实例之前,需要至少定义两个点,否则将出现错误。但是,与多边形不同,最多不限于八个点,并且可以根据需要添加任意数量的点来创建链,而且这些点是在实际房间坐标中定义的,而不是相对于实例。

 

语法:

physics_fixture_add_point(fixture, xpos, ypos)

参数类型描述
fixturePhysics Fixture ID装置的索引
xposReal点的 X 位置(相对于多边形形状的装置原点)
yposReal点的 Y 位置(相对于多边形形状的装置原点)

 

返回:

N/A

 

例子:

physics_fixture_set_polygon_shape(fix_Ship);
physics_fixture_add_point(fix_Ship, 0,0);
physics_fixture_add_point(fix_Ship, -40, 100);
physics_fixture_add_point(fix_Ship, 40, 100);

上面的代码将把一个多边形形状应用于变量 "fix_Ship" 中索引的装置,然后定义三个点以创建三角形形状。