## **粒子类型**
粒子类型可以简称为粒子,粒子是可以通过在游戏中使用粒子系统创建的图形效果。 您使用一些函数定义的粒子可以在您创建的任何粒子系统中使用,正常的方法是在游戏开始时一次性定义所有需要的粒子,并将其索引值存储在全局变量中。 这些全局变量可以用来在整个游戏中随时调用。 如果内存不够,或者你希望有许多不同的类型的粒子,但每种只在游戏中的特定的情况下才会被使用,那么你就可以随时创建,使用和销毁粒子。 无论你选择什么,粒子是非常丰富多彩的资源!
* * * * *
需要创建粒子并将其索引存储在变量中,以便所有其他粒子例程都可以正确访问它们。 以下功能用于创建,检查,清除和销毁粒子类型:
* **part_type_exists**
* **part_type_create**
* **part_type_destroy**
* **part_type_clear**
* * * * *
一旦你创建了你的粒子类型,你就应该给它一个形状。这可以是14个内置的64 x64像素精灵的形状,或者你可以使用你自己的精灵,精灵类型可以是动画,静态图像或者随机的子图像。以下功能定义了每个粒子的视觉基本形状:
* **part_type_shape**
* **part_type_sprite**
**下图显示了14种内建的粒子类型,您可以从中选择:**
![粒子类型-2](https://box.kancloud.cn/a3818cc7835d7aa9745b806210d4eeb4_468x353.png)
* * * * *
一旦您选择了粒子类型的sprite(默认形状或您自己的精灵),您就可以显示它的尺寸和长宽比例。尺寸大小可以被指定为一个范围,所有的粒子的尺寸大小将在范围内随机选择创建。在添加任何比例变化之前,该长宽比例是粒子的x和y轴的“基础”值,并可以使用以下函数来控制这些值:
* **part_type_size**
* **part_type_scale**
* * * * *
粒子也可以进行有方向的运动。 大多数粒子都拥有速度,方向和朝向等属性,这些属性也可以设置范围并且在创造时从设置范围中随机出一个值来使用,你可以通过以下函数进行设置:
* **part_type_speed**
* **part_type_direction**
* **part_type_gravity**
* **part_type_orientation**
* * * * *
一旦将粒子的sprite和motion设置完成后,就可以设置它们的颜色和alpha值,这两个值可以是固定的,或者从一个值逐渐变为另一个值。 请注意,还有一个特殊的功能,它允许您设置粒子及其周围的叠加混合颜色,这可以是正常或叠加方式的,它会产生一些非常神奇的效果,控制颜色,alpha和混合的功能是:
* **part_type_colour_mix**
* **part_type_colour_rgb**
* **part_type_colour_hsv**
* **part_type_colour1**
* **part_type_colour2**
* **part_type_colour3**
* **part_type_alpha1**
* **part_type_alpha2**
* **part_type_alpha3**
* **part_type_blend**
* * * * *
粒子存在于屏幕上时间的时间是有限的,这就是所谓粒子的“生命周期”。 粒子寿命是被逐步消耗的(和之前的功能一样),这将表示粒子将被赋予一系列寿命相关的值。 这样就会有一些有趣的功能,比如:可以用来使粒子在每一步或当他们“死亡”(即:从屏幕上移除)产生其他粒子,但要注意使用这些功能,因为粒子创建是非常快速的,太多的粒子会造成游戏崩溃! 设置生命和步骤或死亡发射的功能如下:
* **part_type_life**
* **part_type_step**
* **part_type_death**
* * * * *
值得注意的是,通过代码创建粒子通常是一个费力而耗时的过程,因为大量的参数需要被改变和调整。出于这个原因,建议你还是找粒子编辑器(或者自己写一个)来完成粒子创造的苦差事。
- 简言
- 额外接口
- asset_get_index
- asset_get_type
- 粒子(PARTICLE)
- 简单粒子系统
- effect_create_below
- effect_create_above
- effect_clear
- ef_all
- 粒子系统
- 粒子系统的创建
- part_system_exists
- part_system_create
- part_system_create_layer
- part_system_get_layer
- part_system_layer
- part_system_clear
- part_system_depth
- part_system_position
- part_system_destroy
- part_particles_clear
- part_particles_count
- 系统绘图
- part_system_automatic_update
- part_system_automatic_draw
- part_system_update
- part_system_drawit
- part_system_draw_order
- 直接创建粒子
- part_particles_create
- part_particles_create_colour
- 粒子类型
- part_type_exists
- part_type_create
- part_type_destroy
- part_type_clear
- part_type_shape
- part_type_sprite
- part_type_size
- part_type_scale
- part_type_speed
- part_type_direction
- part_type_gravity
- part_type_orientation
- part_type_colour_mix
- part_type_colour_rgb
- part_type_colour_hsv
- part_type_colour1
- part_type_colour2
- part_type_colour3
- part_type_alpha1
- part_type_alpha2
- part_type_alpha3
- part_type_blend
- part_type_life
- part_type_step
- part_type_death
- 粒子发射器
- part_emitter_exists
- part_emitter_create
- part_emitter_clear
- part_emitter_region
- part_emitter_burst
- part_emitter_stream
- part_emitter_destroy
- part_emitter_destroy_all
- 数组(array)
- 数据结构(Data structures)
- 心得分享
- ds_exists
- ds_set_precision
- 网格(grid)
- ds_grid_create
- ds_grid_destroy
- ds_grid_width
- ds_grid_height
- ds_grid_resize
- ds_grid_clear
- ds_grid_set
- ds_grid_set_disk
- ds_grid_set_grid_region
- ds_grid_set_region
- ds_grid_shuffle
- ds_grid_sort
- ds_grid_get
- ds_grid_get_max
- ds_grid_get_mean
- ds_grid_get_min
- ds_grid_get_sum
- ds_grid_get_disk_max
- ds_grid_get_disk_mean
- ds_grid_get_disk_min
- ds_grid_get_disk_sum
- ds_grid_add
- ds_grid_add_region
- ds_grid_add_disk
- ds_grid_add_grid_region
- ds_grid_multiply
- ds_grid_multiply_disk
- ds_grid_multiply_region
- ds_grid_multiply_grid_region
- ds_grid_value_exists
- ds_grid_value_disk_exists
- ds_grid_value_x
- ds_grid_value_y
- ds_grid_value_disk_x
- ds_grid_value_disk_y
- ds_grid_copy
- ds_grid_read
- ds_grid_write
- 列表(list)
- 映射(map)
- 队列(Queues)
- 优先队列(Priority Queues)
- 堆栈(stack)