Add different colors for shapes

This commit is contained in:
karl 2021-11-18 00:13:25 +01:00
parent da193ee953
commit 2606a706bd
9 changed files with 65 additions and 3 deletions

15
Block.gd Normal file
View File

@ -0,0 +1,15 @@
extends Node2D
tool
export var color: Color setget set_color
func _ready():
set_color(color)
func set_color(new_color):
color = new_color
if is_inside_tree():
$Sprite.material.set_shader_param("color", new_color)

View File

@ -1,11 +1,30 @@
[gd_scene load_steps=2 format=2] [gd_scene load_steps=5 format=2]
[ext_resource path="res://brick.png" type="Texture" id=1] [ext_resource path="res://brick.png" type="Texture" id=1]
[ext_resource path="res://Block.gd" type="Script" id=2]
[sub_resource type="Shader" id=1]
code = "shader_type canvas_item;
uniform vec4 color;
void fragment() {
vec4 original_color = texture(TEXTURE, UV);
COLOR = original_color * color;
}"
[sub_resource type="ShaderMaterial" id=2]
resource_local_to_scene = true
shader = SubResource( 1 )
shader_param/color = Color( 1, 1, 1, 1 )
[node name="Block" type="Node2D"] [node name="Block" type="Node2D"]
script = ExtResource( 2 )
color = Color( 1, 1, 1, 1 )
[node name="Sprite" type="Sprite" parent="."] [node name="Sprite" type="Sprite" parent="."]
material = SubResource( 2 )
scale = Vector2( 0.125, 0.125 ) scale = Vector2( 0.125, 0.125 )
texture = ExtResource( 1 ) texture = ExtResource( 1 )
[node name="AdjacentRays" type="Sprite" parent="."]

View File

@ -8,12 +8,16 @@ script = ExtResource( 2 )
[node name="Block" parent="." instance=ExtResource( 1 )] [node name="Block" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, 32 ) position = Vector2( 32, 32 )
color = Color( 0.717647, 1, 0.952941, 1 )
[node name="Block2" parent="." instance=ExtResource( 1 )] [node name="Block2" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -32 ) position = Vector2( 32, -32 )
color = Color( 0.717647, 1, 0.952941, 1 )
[node name="Block3" parent="." instance=ExtResource( 1 )] [node name="Block3" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -96 ) position = Vector2( 32, -96 )
color = Color( 0.717647, 1, 0.952941, 1 )
[node name="Block4" parent="." instance=ExtResource( 1 )] [node name="Block4" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -160 ) position = Vector2( 32, -160 )
color = Color( 0.717647, 1, 0.952941, 1 )

View File

@ -8,12 +8,16 @@ script = ExtResource( 2 )
[node name="Block" parent="." instance=ExtResource( 1 )] [node name="Block" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, 32 ) position = Vector2( -32, 32 )
color = Color( 0.486275, 0.494118, 1, 1 )
[node name="Block2" parent="." instance=ExtResource( 1 )] [node name="Block2" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, 32 ) position = Vector2( 32, 32 )
color = Color( 0.486275, 0.494118, 1, 1 )
[node name="Block3" parent="." instance=ExtResource( 1 )] [node name="Block3" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -32 ) position = Vector2( 32, -32 )
color = Color( 0.486275, 0.494118, 1, 1 )
[node name="Block4" parent="." instance=ExtResource( 1 )] [node name="Block4" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -96 ) position = Vector2( 32, -96 )
color = Color( 0.486275, 0.494118, 1, 1 )

View File

@ -8,12 +8,16 @@ script = ExtResource( 2 )
[node name="Block" parent="." instance=ExtResource( 1 )] [node name="Block" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, 32 ) position = Vector2( -32, 32 )
color = Color( 1, 0.47451, 0.47451, 1 )
[node name="Block3" parent="." instance=ExtResource( 1 )] [node name="Block3" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, -32 ) position = Vector2( -32, -32 )
color = Color( 1, 0.47451, 0.47451, 1 )
[node name="Block4" parent="." instance=ExtResource( 1 )] [node name="Block4" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, -96 ) position = Vector2( -32, -96 )
color = Color( 1, 0.47451, 0.47451, 1 )
[node name="Block2" parent="." instance=ExtResource( 1 )] [node name="Block2" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, 32 ) position = Vector2( 32, 32 )
color = Color( 1, 0.47451, 0.47451, 1 )

View File

@ -8,12 +8,16 @@ script = ExtResource( 2 )
[node name="Block" parent="." instance=ExtResource( 1 )] [node name="Block" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, 32 ) position = Vector2( 32, 32 )
color = Color( 0.827451, 1, 0.490196, 1 )
[node name="Block2" parent="." instance=ExtResource( 1 )] [node name="Block2" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -32 ) position = Vector2( 32, -32 )
color = Color( 0.827451, 1, 0.490196, 1 )
[node name="Block3" parent="." instance=ExtResource( 1 )] [node name="Block3" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, -32 ) position = Vector2( -32, -32 )
color = Color( 0.827451, 1, 0.490196, 1 )
[node name="Block4" parent="." instance=ExtResource( 1 )] [node name="Block4" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, 32 ) position = Vector2( -32, 32 )
color = Color( 0.827451, 1, 0.490196, 1 )

View File

@ -8,12 +8,16 @@ script = ExtResource( 2 )
[node name="Block" parent="." instance=ExtResource( 1 )] [node name="Block" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, 32 ) position = Vector2( -32, 32 )
color = Color( 0.607843, 1, 0.603922, 1 )
[node name="Block2" parent="." instance=ExtResource( 1 )] [node name="Block2" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, 32 ) position = Vector2( 32, 32 )
color = Color( 0.607843, 1, 0.603922, 1 )
[node name="Block3" parent="." instance=ExtResource( 1 )] [node name="Block3" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -32 ) position = Vector2( 32, -32 )
color = Color( 0.607843, 1, 0.603922, 1 )
[node name="Block4" parent="." instance=ExtResource( 1 )] [node name="Block4" parent="." instance=ExtResource( 1 )]
position = Vector2( 96, -32 ) position = Vector2( 96, -32 )
color = Color( 0.607843, 1, 0.603922, 1 )

View File

@ -8,12 +8,16 @@ script = ExtResource( 2 )
[node name="Block" parent="." instance=ExtResource( 1 )] [node name="Block" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, 32 ) position = Vector2( -32, 32 )
color = Color( 0.968627, 0.411765, 1, 1 )
[node name="Block2" parent="." instance=ExtResource( 1 )] [node name="Block2" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, 32 ) position = Vector2( 32, 32 )
color = Color( 0.968627, 0.411765, 1, 1 )
[node name="Block3" parent="." instance=ExtResource( 1 )] [node name="Block3" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -32 ) position = Vector2( 32, -32 )
color = Color( 0.968627, 0.411765, 1, 1 )
[node name="Block4" parent="." instance=ExtResource( 1 )] [node name="Block4" parent="." instance=ExtResource( 1 )]
position = Vector2( 96, 32 ) position = Vector2( 96, 32 )
color = Color( 0.968627, 0.411765, 1, 1 )

View File

@ -8,12 +8,16 @@ script = ExtResource( 2 )
[node name="Block" parent="." instance=ExtResource( 1 )] [node name="Block" parent="." instance=ExtResource( 1 )]
position = Vector2( -32, -32 ) position = Vector2( -32, -32 )
color = Color( 0.984314, 1, 0.537255, 1 )
[node name="Block2" parent="." instance=ExtResource( 1 )] [node name="Block2" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, -32 ) position = Vector2( 32, -32 )
color = Color( 0.984314, 1, 0.537255, 1 )
[node name="Block3" parent="." instance=ExtResource( 1 )] [node name="Block3" parent="." instance=ExtResource( 1 )]
position = Vector2( 32, 32 ) position = Vector2( 32, 32 )
color = Color( 0.984314, 1, 0.537255, 1 )
[node name="Block4" parent="." instance=ExtResource( 1 )] [node name="Block4" parent="." instance=ExtResource( 1 )]
position = Vector2( 96, 32 ) position = Vector2( 96, 32 )
color = Color( 0.984314, 1, 0.537255, 1 )