mirror of
https://github.com/HarmonyHoney/tiny_crate.git
synced 2026-01-23 02:34:53 +00:00
different box sprites & color inversion! (-;
This commit is contained in:
parent
2750ee62fe
commit
6100f2633a
5 changed files with 24 additions and 6 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 515 B |
|
|
@ -7,6 +7,7 @@ var is_push = false
|
|||
onready var node_audio : AudioStreamPlayer2D = $AudioHit
|
||||
onready var node_anim : AnimationPlayer = $AnimationPlayer
|
||||
onready var node_sprite : Sprite = $Sprite
|
||||
onready var sprite_mat : ShaderMaterial = node_sprite.material
|
||||
var spr_pos := Vector2.ZERO
|
||||
|
||||
var push_clock := 0.0
|
||||
|
|
@ -17,8 +18,13 @@ var shake_dist = 0
|
|||
|
||||
var scene_slam = preload("res://src/fx/Slam.tscn")
|
||||
|
||||
var images = [1, 4, 5, 6, 7]
|
||||
export var is_refresh_frame := 0 setget pick_frame
|
||||
|
||||
func _ready():
|
||||
if Engine.editor_hint or Shared.is_level_select: return
|
||||
if Engine.editor_hint: return
|
||||
pick_frame()
|
||||
if Shared.is_level_select: return
|
||||
|
||||
spr_pos = node_sprite.position
|
||||
|
||||
|
|
@ -63,3 +69,10 @@ func push(dir : int):
|
|||
a.push(dir)
|
||||
move_x(dir)
|
||||
push_dir = dir
|
||||
|
||||
func pick_frame(arg = null):
|
||||
#randomize()
|
||||
node_sprite.frame = images[randi() % images.size()]
|
||||
node_sprite.flip_h = randf() > 0.5
|
||||
sprite_mat.set_shader_param("flip", float(randf() > 0.5))
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,13 @@
|
|||
[ext_resource path="res://src/shader/palette_swap_2.gdshader" type="Shader" id=4]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=2]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource( 4 )
|
||||
shader_param/c0 = Color( 1, 1, 1, 1 )
|
||||
shader_param/s0 = Color( 0.670588, 0.321569, 0.211765, 1 )
|
||||
shader_param/s0 = Color( 0.8, 0.188235, 0, 1 )
|
||||
shader_param/c1 = Color( 0, 0, 0, 1 )
|
||||
shader_param/s1 = Color( 1, 0.639216, 0, 1 )
|
||||
shader_param/s1 = Color( 1, 0.768627, 0, 1 )
|
||||
shader_param/flip = 0.0
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
resource_name = "hit"
|
||||
|
|
@ -57,7 +59,7 @@ position = Vector2( 4, 4 )
|
|||
texture = ExtResource( 1 )
|
||||
hframes = 4
|
||||
vframes = 4
|
||||
frame = 1
|
||||
frame = 6
|
||||
|
||||
[node name="AudioHit" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ func set_button_box():
|
|||
box[3].position = Vector2(64, -16)
|
||||
box[3].speed = Vector2.ZERO
|
||||
box[3].remainder = Vector2.ZERO
|
||||
box[3].pick_frame()
|
||||
|
||||
func set_box_stack():
|
||||
box[0].position = Vector2(160, -16)
|
||||
|
|
@ -47,6 +48,7 @@ func set_box_stack():
|
|||
for i in 3: # 0, 1, 2
|
||||
box[i].speed = Vector2.ZERO
|
||||
box[i].remainder = Vector2.ZERO
|
||||
box[i].pick_frame()
|
||||
|
||||
func btnx(arg : int):
|
||||
p.btnx = arg
|
||||
|
|
|
|||
|
|
@ -4,15 +4,16 @@ uniform vec4 c0 : hint_color = vec4(0.0);
|
|||
uniform vec4 s0 : hint_color = vec4(0.0);
|
||||
uniform vec4 c1 : hint_color = vec4(0.0);
|
||||
uniform vec4 s1 : hint_color = vec4(0.0);
|
||||
uniform float flip : hint_range(0.0, 1.0) = 0.0;
|
||||
|
||||
void fragment(){
|
||||
vec4 col = texture(TEXTURE, UV);
|
||||
|
||||
if (col == c0){
|
||||
col = s0;
|
||||
col = mix(s0, s1, flip);
|
||||
}
|
||||
else if (col == c1){
|
||||
col = s1;
|
||||
col = mix(s1, s0, flip);
|
||||
}
|
||||
|
||||
COLOR = col;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue