mirror of
https://github.com/HarmonyHoney/tiny_crate.git
synced 2026-07-30 11:10:17 +00:00
treadmill shader fix
previously when adjusting the value of the shader, it would change the value for all shaders. now it duplicates the shader at runtime so it's a unique copy and can have it's own unique shhader value
This commit is contained in:
parent
5f476210ff
commit
8c9c34f33a
4 changed files with 39 additions and 10 deletions
|
|
@ -17,7 +17,7 @@ shader_param/speed = 1.0
|
|||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="SolidTileMap" parent="." instance=ExtResource( 4 )]
|
||||
tile_data = PoolIntArray( 65516, 0, 0, 65517, 0, 0, 65518, 0, 0, 65519, 0, 0, 65520, 0, 0, 65521, 0, 0, 65529, 0, 65538, 65530, 0, 65536, 65531, 0, 65538, 65532, 0, 0, 65533, 0, 0, 65534, 0, 65537, 65535, 0, 0, 0, 0, 0, 1, 0, 65538, 2, 0, 0, 3, 0, 65537, 4, 0, 0, 5, 0, 0, 6, 0, 196609, 131057, 0, 0, 131058, 0, 0, 131059, 0, 0, 131060, 0, 0, 131061, 0, 0, 131062, 0, 0, 131063, 0, 0, 131064, 0, 0, 131065, 0, 0 )
|
||||
tile_data = PoolIntArray( 65529, 0, 65538, 65530, 0, 65536, 65531, 0, 65538, 65532, 0, 0, 65533, 0, 0, 65534, 0, 65537, 65535, 0, 0, 0, 0, 0, 1, 0, 65538, 2, 0, 0, 3, 0, 65537, 4, 0, 0, 5, 0, 0, 6, 0, 196609, 131047, 0, 0, 131048, 0, 0, 131049, 0, 0, 131050, 0, 0, 131051, 0, 0, 131058, 0, 0, 131059, 0, 0, 131060, 0, 0, 131061, 0, 0, 131062, 0, 0, 131063, 0, 0, 131064, 0, 0, 131065, 0, 0, 196587, 0, 0, 196588, 0, 0, 196589, 0, 0, 196590, 0, 0, 196591, 0, 0, 196592, 0, 0, 196593, 0, 0, 196594, 0, 0 )
|
||||
|
||||
[node name="SpikeTileMap" parent="." instance=ExtResource( 7 )]
|
||||
z_as_relative = false
|
||||
|
|
@ -47,9 +47,26 @@ position = Vector2( -37, -8 )
|
|||
[node name="Treadmill7" parent="Actors" instance=ExtResource( 1 )]
|
||||
position = Vector2( -112, 0 )
|
||||
hitbox_x = 56
|
||||
tread_speed = -0.5
|
||||
tread_speed = -0.3
|
||||
length = 7
|
||||
|
||||
[node name="Treadmill8" parent="Actors" instance=ExtResource( 1 )]
|
||||
position = Vector2( -200, 0 )
|
||||
hitbox_x = 40
|
||||
tread_speed = 0.3
|
||||
length = 5
|
||||
|
||||
[node name="Treadmill9" parent="Actors" instance=ExtResource( 1 )]
|
||||
position = Vector2( -160, 8 )
|
||||
hitbox_x = 24
|
||||
length = 3
|
||||
|
||||
[node name="Treadmill10" parent="Actors" instance=ExtResource( 1 )]
|
||||
position = Vector2( -136, 8 )
|
||||
hitbox_x = 24
|
||||
tread_speed = 0.5
|
||||
length = 3
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
visible = false
|
||||
material = SubResource( 1 )
|
||||
|
|
|
|||
|
|
@ -2,11 +2,20 @@
|
|||
|
||||
[ext_resource path="res://Script/Treadmill.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Image/tread.png" type="Texture" id=2]
|
||||
[ext_resource path="res://Shader/scrollx.shader" type="Shader" id=3]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=1]
|
||||
shader = ExtResource( 3 )
|
||||
shader_param/speed = 0.7
|
||||
[sub_resource type="Shader" id=1]
|
||||
code = "shader_type canvas_item;
|
||||
render_mode blend_mix;
|
||||
|
||||
uniform float speed = 1.0;
|
||||
void fragment() {
|
||||
COLOR = texture(TEXTURE, UV + vec2(TIME * speed, 0.0));
|
||||
}"
|
||||
custom_defines = ""
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=2]
|
||||
shader = SubResource( 1 )
|
||||
shader_param/speed = 4.0
|
||||
|
||||
[node name="Treadmill" type="Node2D" groups=[
|
||||
"actor",
|
||||
|
|
@ -15,10 +24,10 @@ shader_param/speed = 0.7
|
|||
script = ExtResource( 1 )
|
||||
tag = "treadmill"
|
||||
is_solid = true
|
||||
tread_speed = -0.7
|
||||
tread_speed = -0.5
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
material = SubResource( 1 )
|
||||
material = SubResource( 2 )
|
||||
texture = ExtResource( 2 )
|
||||
centered = false
|
||||
region_enabled = true
|
||||
|
|
|
|||
|
|
@ -8,10 +8,14 @@ export var editor_move := 0 setget _set_editor_move
|
|||
|
||||
var node_sprite : Sprite
|
||||
|
||||
|
||||
func _ready():
|
||||
# editor and game code
|
||||
node_sprite = $Sprite
|
||||
node_sprite.material = node_sprite.material.duplicate(true)
|
||||
#node_sprite.material = node_sprite.get_material().duplicate(true)
|
||||
#node_sprite.set_material(node_sprite.get_material().duplicate(true))
|
||||
print(node_sprite.material)
|
||||
|
||||
_set_tread_speed(tread_speed)
|
||||
_set_length(length)
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,6 @@ Shared="*res://Script/Shared.gd"
|
|||
|
||||
window/size/width=320
|
||||
window/size/height=180
|
||||
window/size/always_on_top=true
|
||||
window/dpi/allow_hidpi=true
|
||||
window/stretch/mode="viewport"
|
||||
window/stretch/aspect="keep"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue