Просмотр исходного кода

Liquid instance colors can now actually be set, lol.

master
Bryan Miller 4 лет назад
Родитель
Сommit
90a8e9043b
2 измененных файлов: 20 добавлений и 1 удалений
  1. +2
    -0
      Data/Scenes/World.tscn
  2. +18
    -1
      Data/Scripts/Liquid.gd

+ 2
- 0
Data/Scenes/World.tscn Просмотреть файл

@@ -79,3 +79,5 @@ texture = ExtResource( 1 )
[node name="Liquid" parent="." instance=ExtResource( 3 )]
position = Vector2( 109.92, 197.289 )
scale = Vector2( 2.96, 1 )
liquid_body_color = Color( 0, 0.0901961, 0.815686, 1 )
liquid_surface_color = Color( 0.576471, 0.760784, 0.996078, 1 )

+ 18
- 1
Data/Scripts/Liquid.gd Просмотреть файл

@@ -1,8 +1,25 @@
extends Sprite

export var liquid_body_color:Color setget _set_liquid_body_color, _get_liquid_body_color
export var liquid_surface_color:Color setget _set_liquid_surface_color, _get_liquid_surface_color


func _set_liquid_body_color(c):
material.set_shader_param("liquid_color_main", c)

func _get_liquid_body_color():
return material.get_shader_param("liquid_color_main")

func _set_liquid_surface_color(c):
material.set_shader_param("liquid_color_surface", c)
$Splash.process_material.color = c

func _get_liquid_surface_color():
return material.get_shader_param("liquid_color_surface")

func _ready():
material.set_shader_param("sprite_scale", scale)
$Splash.process_material.color = material.get_shader_param("liquid_color_surface")
#$Splash.process_material.color = material.get_shader_param("liquid_color_surface")
if scale.x != 0 and scale.y != 0:
$Splash.scale = Vector2(1/scale.x, 1/scale.y)
set_process(true)

Загрузка…
Отмена
Сохранить