remove bad lvel animation

This commit is contained in:
mehbark 2025-05-04 10:23:42 -04:00
parent 046690353c
commit ff40f68ef7
2 changed files with 6 additions and 24 deletions

View file

@ -46,6 +46,7 @@ offset_left = -5.0
offset_top = 1.0
offset_right = 101.0
offset_bottom = 115.0
focus_mode = 0
icon = ExtResource("3_lquwl")
flat = true
expand_icon = true
@ -55,6 +56,7 @@ offset_left = 108.0
offset_top = 3.0
offset_right = 226.0
offset_bottom = 113.0
focus_mode = 0
icon = ExtResource("4_7mycd")
flat = true
expand_icon = true
@ -64,6 +66,7 @@ offset_left = 245.0
offset_top = 4.0
offset_right = 369.0
offset_bottom = 116.0
focus_mode = 0
icon = ExtResource("5_272bh")
flat = true
expand_icon = true
@ -76,7 +79,6 @@ offset_bottom = 76.0
theme_override_font_sizes/normal_font_size = 32
text = "T = 0"
fit_content = true
horizontal_alignment = 2
[connection signal="pressed" from="UndoButton" to="." method="undo"]
[connection signal="pressed" from="RedoButton" to="." method="redo"]

View file

@ -32,23 +32,12 @@ enum Type {
anim_progress = 0
## logical velocity
@export var lvel: Vector2i:
get:
return lvel
set(val):
lvel = val
display_vel = target_vel
start_vel = target_vel
target_vel = lvel
anim_progress = 0
@export var lvel := Vector2i.ZERO
@export var type: Piece.Type
@onready var start_pos := position
@onready var target_pos := position
@onready var start_vel := Vector2(lvel)
@onready var target_vel := Vector2(lvel)
@onready var display_vel := Vector2(lvel)
@onready var anim_progress := 1.0
var speedometer: Label3D
@ -116,31 +105,22 @@ static func floor_ice(lpos: Vector2i) -> Piece:
func _ready() -> void:
lpos = lpos
lvel = Vector2i.ZERO
anim_progress = 1
speedometer = Label3D.new()
speedometer.billboard = BaseMaterial3D.BILLBOARD_ENABLED
speedometer.text = "0"
speedometer.no_depth_test = true
speedometer.font_size = 64
add_child(speedometer)
#TODO: arrow!
func format_vel(vel: Vector2) -> String:
if vel.is_zero_approx():
return ""
else:
return "%d,%d" % [vel.x,vel.y]
#if is_zero_approx(vel.x) or is_zero_approx(vel.y):
#if is_equal_approx(round(abs(vel.x)), abs(vel.x)) or is_equal_approx(round(abs(vel.y)), abs(vel.y)):
#return "%.1d" % vel.length()
#else:
#return "%.1f" % vel.length()
#else:
#return "%d,%d" % [vel.x,vel.y]
func _process(delta: float) -> void:
var speed := anim_speed_slow if Input.is_action_pressed("slowmo") else anim_speed
anim_progress = min(1, anim_progress + speed*delta)
position = start_pos.lerp(target_pos, anim_progress)
display_vel = start_vel.lerp(target_vel, anim_progress)
speedometer.text = format_vel(display_vel)
speedometer.text = format_vel(lvel)