柔体粒子

GameMaker 使用 Box2D 刚体物理库,因此不允许使用柔体物理。然而, Liquid Fun 扩展会在物理系统中添加粒子,从而允许使用刚体物理学创建模拟软体。基本上,可以创建一个保持内聚力的粒子形状,从而模拟整个物体,由于粒子的相互作用,这会给人留下柔软物体的印象。也可以使用物理粒子来模拟液体和其他基于粒子的物理系统。

在开始创建物理粒子之前,需要为它们设置基本物理特性,就像在常规物理中使用装置一样。请注意,设置这些属性将影响先前创建的所有粒子以及您创建的任何新粒子,因此通常仅在游戏或级别开始时使用这些函数。但是,有一些特定的函数可用于为单个粒子(和粒子组)设置粒子标志,这将更改它们的特性(如"反弹"或粘度),从而使您能够在这些全局设置的范围内创建不同类型的粒子。

以下函数可用于设置和获取全局粒子系统数据:

 

您还可以使用以下函数在单个粒子(或粒子组)上设置标志,以及从单个粒子或单个组获取信息(如位置或颜色):

 

可以通过两种方式(单独或成组)创建粒子。单个粒子的行为与创建时由全局设置和设置的标志所定义的完全相同,但是根据其组标志,粒子组可以表现出不同的行为。这些组标志可以设置为不同的值,以赋予该组不同的属性,如穿透性和刚性。

以下函数可用于创建粒子:

 

不仅可以创建粒子,还可以单独或在区域中删除粒子。以下函数可用于从系统中删除粒子:

 

除非已使用 physics_draw_debug() 激活调试绘制,否则创建调试绘制时不会在屏幕上看到任何粒子。因此,要实际查看粒子,需要使用以下函数将它们绘制到实例的 绘制事件 中的屏幕上 (注意,如果使用函数 physics_particle_get_data() 获取每个粒子的数据,也可以使用常规的 draw_sprite 函数绘制它们):