Compare commits
3 commits
c2e3fa2ac2
...
fd4c08975d
| Author | SHA1 | Date | |
|---|---|---|---|
| fd4c08975d | |||
| 8351708490 | |||
| 6f235f99b9 |
7 changed files with 34 additions and 60 deletions
|
|
@ -31,17 +31,15 @@ func play_animation(speed_scale: float = 0) -> void:
|
|||
sprite.play("default")
|
||||
|
||||
|
||||
func decelerate_to_stop(duration: float = 0.3) -> void: # Call this after collision
|
||||
# KILL ANY EXISTING TWEEN (one at a time guaranteed!)
|
||||
func decelerate_to_stop(duration: float = 0.3) -> void:
|
||||
if current_decel_tween:
|
||||
current_decel_tween.kill()
|
||||
|
||||
# CREATE NEW ONE
|
||||
current_decel_tween = create_tween()
|
||||
current_decel_tween.tween_property(sprite, "speed_scale", 0.0, duration)
|
||||
current_decel_tween.tween_callback(func() -> void:
|
||||
sprite.pause() # Freeze on last frame
|
||||
current_decel_tween = null # Clean up
|
||||
sprite.pause()
|
||||
current_decel_tween = null
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -53,8 +51,8 @@ func _on_hit(hitbox: Hit) -> void:
|
|||
print("ball not hit yet")
|
||||
var player: Player = hitbox.get_parent()
|
||||
var timer: Timer = player.hit_timer
|
||||
var angle: float = randf_range(3*PI/4, PI/4) * (-1 if player.id == 1 else 1)
|
||||
var speed: float = randf_range(300, 350) if hitbox.power_hit else 0.0 # o.o
|
||||
var angle: float = (PI/2 if hitbox.power_hit else randf_range(3*PI/4, PI/4)) * (-1 if player.id == 1 else 1)
|
||||
var speed: float = randf_range(350, 450) if hitbox.power_hit else 0.0 # o.o
|
||||
launch(angle, speed)
|
||||
print("ball hit")
|
||||
if not timer.is_connected("timeout", _on_hit_end):
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ collision_layer = 64
|
|||
collision_mask = 0
|
||||
script = ExtResource("1_udkr8")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
rotation = 1.5707964
|
||||
debug_color = Color(0.6205005, 0.42311785, 0.8432588, 0.41960785)
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 338 B |
|
|
@ -1,40 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3qem75thpant"
|
||||
path="res://.godot/imported/power_hit.png-d86fdff5941c4bbd15b7b007109f3e9d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://scenes/hit/assets/power_hit.png"
|
||||
dest_files=["res://.godot/imported/power_hit.png-d86fdff5941c4bbd15b7b007109f3e9d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://d0c57c37o75b0"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d3qem75thpant" path="res://scenes/hit/assets/power_hit.png" id="1_g005q"]
|
||||
[ext_resource type="Script" uid="uid://b440ri3521uio" path="res://scenes/classes/hit.gd" id="1_kwsj5"]
|
||||
[ext_resource type="Texture2D" uid="uid://c6a62gvw7218s" path="res://scenes/hit/assets/hit.png" id="2_kwsj5"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_g005q"]
|
||||
radius = 21.023796
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_kwsj5"]
|
||||
radius = 30.0
|
||||
height = 70.0
|
||||
|
||||
[node name="PowerHit2D" type="Area2D" groups=["hit"]]
|
||||
collision_layer = 64
|
||||
|
|
@ -14,10 +15,27 @@ power_hit = true
|
|||
metadata/_custom_type_script = "uid://b440ri3521uio"
|
||||
metadata/power_hit = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_g005q")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
rotation = 1.5707964
|
||||
shape = SubResource("CircleShape2D_g005q")
|
||||
shape = SubResource("CapsuleShape2D_kwsj5")
|
||||
debug_color = Color(0.6205005, 0.42311785, 0.8432588, 0.41960785)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(20, -22)
|
||||
texture = ExtResource("2_kwsj5")
|
||||
|
||||
[node name="Sprite2D2" type="Sprite2D" parent="."]
|
||||
position = Vector2(-20, -22)
|
||||
texture = ExtResource("2_kwsj5")
|
||||
flip_h = true
|
||||
|
||||
[node name="Sprite2D3" type="Sprite2D" parent="."]
|
||||
position = Vector2(20, 22)
|
||||
texture = ExtResource("2_kwsj5")
|
||||
flip_v = true
|
||||
|
||||
[node name="Sprite2D4" type="Sprite2D" parent="."]
|
||||
position = Vector2(-20, 22)
|
||||
texture = ExtResource("2_kwsj5")
|
||||
flip_h = true
|
||||
flip_v = true
|
||||
|
|
|
|||
|
|
@ -14,12 +14,12 @@ script = ExtResource("1_dk3vy")
|
|||
metadata/_custom_type_script = "uid://b440ri3521uio"
|
||||
metadata/power_hit = false
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(7, -4)
|
||||
texture = ExtResource("1_rmj1p")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(4, 1)
|
||||
rotation = 1.5707964
|
||||
shape = SubResource("CapsuleShape2D_fxeki")
|
||||
debug_color = Color(0.6205005, 0.42311785, 0.8432588, 0.41960785)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(7, -4)
|
||||
texture = ExtResource("1_rmj1p")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue