Godot Version
Player:
@onready var sprite : Sprite2D = $Sprite2D
@onready var shader : ShaderMaterial = $Sprite2D.material
func darkness(running : bool) -> void:
if invis and !running:
shader.set_shader_param("darkness", true)
else:
shader.set_shader_param("darkness", false)
return
shader_type canvas_item;
uniform bool darkness = false;
void fragment() {
if (darkness){
COLOR = COLOR * vec4(0.4, 0.4, 0.4, 0.75);
}
}
Question
For some reason I can't use the set_shader_param since it doesn't exist for the item.