## **粒子類型**
粒子類型可以簡稱為粒子,粒子是可以通過在游戲中使用粒子系統創建的圖形效果。 您使用一些函數定義的粒子可以在您創建的任何粒子系統中使用,正常的方法是在游戲開始時一次性定義所有需要的粒子,并將其索引值存儲在全局變量中。 這些全局變量可以用來在整個游戲中隨時調用。 如果內存不夠,或者你希望有許多不同的類型的粒子,但每種只在游戲中的特定的情況下才會被使用,那么你就可以隨時創建,使用和銷毀粒子。 無論你選擇什么,粒子是非常豐富多彩的資源!
* * * * *
需要創建粒子并將其索引存儲在變量中,以便所有其他粒子例程都可以正確訪問它們。 以下功能用于創建,檢查,清除和銷毀粒子類型:
* **part_type_exists**
* **part_type_create**
* **part_type_destroy**
* **part_type_clear**
* * * * *
一旦你創建了你的粒子類型,你就應該給它一個形狀。這可以是14個內置的64 x64像素精靈的形狀,或者你可以使用你自己的精靈,精靈類型可以是動畫,靜態圖像或者隨機的子圖像。以下功能定義了每個粒子的視覺基本形狀:
* **part_type_shape**
* **part_type_sprite**
**下圖顯示了14種內建的粒子類型,您可以從中選擇:**

* * * * *
一旦您選擇了粒子類型的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)