This commit is contained in:
bingus_violet 2024-03-13 16:15:55 -05:00
parent 279b5e5599
commit 4f70414ed9
46 changed files with 1485 additions and 170 deletions

View file

@ -0,0 +1,30 @@
extends Node2D
var detecting = true
func _on_anim_trigger_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if detecting:
detecting = false
var tween = get_tree().create_tween()
tween.set_ease(Tween.EASE_IN)
tween.set_trans(Tween.TRANS_CUBIC)
tween.set_parallel(true)
tween.tween_property($SmasherBody, "position", Vector2(0, -66), 0.3)
tween.tween_property($SmasherBody2, "position", Vector2(0, 66), 0.3)
await tween.finished
tween = get_tree().create_tween()
tween.set_ease(Tween.EASE_IN)
tween.set_trans(Tween.TRANS_SINE)
tween.set_parallel(true)
tween.tween_property($SmasherBody, "position", Vector2(0, -100), 2).set_delay(1)
tween.tween_property($SmasherBody2, "position", Vector2(0, 100), 2).set_delay(1)
await tween.finished
detecting = true

View file

@ -0,0 +1,41 @@
[gd_scene load_steps=4 format=3 uid="uid://cufm4g76fik7t"]
[ext_resource type="PackedScene" uid="uid://dc8odchuhx80d" path="res://Objects/AnimTrigger/anim_trigger.tscn" id="1_cq28h"]
[ext_resource type="Script" path="res://Objects/GroundSmasher/DualSmasher.gd" id="1_px0wu"]
[ext_resource type="Texture2D" uid="uid://cnkms0met64fy" path="res://Objects/GroundSmasher/Smasher.png" id="2_6f7iw"]
[node name="Smasher" type="Node2D"]
script = ExtResource("1_px0wu")
[node name="AnimTrigger" parent="." instance=ExtResource("1_cq28h")]
scale = Vector2(1.6, 4)
collision_layer = 0
collision_mask = 2
script = null
[node name="SmasherBody" type="AnimatableBody2D" parent="."]
position = Vector2(0, -100)
[node name="Sprite2D" type="Sprite2D" parent="SmasherBody"]
position = Vector2(0, -37)
texture = ExtResource("2_6f7iw")
offset = Vector2(0, 40)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="SmasherBody"]
position = Vector2(0, -8)
polygon = PackedVector2Array(-16, -52, -16, 68, -13, 74, 0, 74, 13, 74, 16, 68, 16, -52)
[node name="SmasherBody2" type="AnimatableBody2D" parent="."]
position = Vector2(0, 100)
rotation = 3.14159
[node name="Sprite2D" type="Sprite2D" parent="SmasherBody2"]
position = Vector2(0, -37)
texture = ExtResource("2_6f7iw")
offset = Vector2(0, 40)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="SmasherBody2"]
position = Vector2(0, -8)
polygon = PackedVector2Array(-16, -52, -16, 68, -13, 74, 0, 74, 13, 74, 16, 68, 16, -52)
[connection signal="body_shape_entered" from="AnimTrigger" to="." method="_on_anim_trigger_body_shape_entered"]

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cnkms0met64fy"
path="res://.godot/imported/Smasher.png-f4cece1b9694499f701efe8bcdb2c27c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Objects/GroundSmasher/Smasher.png"
dest_files=["res://.godot/imported/Smasher.png-f4cece1b9694499f701efe8bcdb2c27c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

View file

@ -0,0 +1,46 @@
extends AnimatableBody2D
@onready var tip = $"Tip"
var detecting = true
var velocity = Vector2.ZERO
@onready var startPos = global_position
func _on_anim_trigger_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if detecting:
detecting = false
var tween = get_tree().create_tween()
var space_state = get_world_2d().direct_space_state
var query = PhysicsRayQueryParameters2D.create(tip.global_position, tip.global_position + Vector2(0, 500).rotated(global_rotation))
var result = space_state.intersect_ray(query)
var finalPos = Vector2(0, 400).rotated(global_rotation)
if result:
finalPos = result.position - tip.global_position
tween.set_trans(Tween.TRANS_CUBIC)
tween.set_parallel(true)
tween.tween_property(self, "global_position", global_position + finalPos, 0.5).set_ease(Tween.EASE_IN)
tween.tween_property(self, "velocity", Vector2(0, 700).rotated(global_rotation), 0.5).set_ease(Tween.EASE_IN)
await tween.finished
tween = get_tree().create_tween()
tween.set_parallel(true)
tween.tween_property(self, "global_position", startPos, 2).set_trans(Tween.TRANS_SINE).set_delay(1).set_ease(Tween.EASE_IN)
tween.tween_property(self, "velocity", Vector2.ZERO, 0.5).set_trans(Tween.TRANS_SINE).set_delay(0.25).set_ease(Tween.EASE_IN)
#await get_tree().create_timer(0.25).timeout
#constant_linear_velocity = Vector2.ZERO
await tween.finished
detecting = true

View file

@ -0,0 +1,30 @@
[gd_scene load_steps=4 format=3 uid="uid://c7vbin1wckti1"]
[ext_resource type="PackedScene" uid="uid://dc8odchuhx80d" path="res://Objects/AnimTrigger/anim_trigger.tscn" id="1_qvh2l"]
[ext_resource type="Script" path="res://Objects/GroundSmasher/SmasherCollide.gd" id="2_0g66p"]
[ext_resource type="Texture2D" uid="uid://cnkms0met64fy" path="res://Objects/GroundSmasher/Smasher.png" id="2_s8d83"]
[node name="Smasher" type="Node2D"]
[node name="AnimTrigger" parent="." instance=ExtResource("1_qvh2l")]
scale = Vector2(1.6, 4)
collision_layer = 2
collision_mask = 2
script = null
[node name="SmasherBody" type="AnimatableBody2D" parent="."]
position = Vector2(0, -137)
script = ExtResource("2_0g66p")
[node name="Sprite2D" type="Sprite2D" parent="SmasherBody"]
texture = ExtResource("2_s8d83")
offset = Vector2(0, 40)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="SmasherBody"]
position = Vector2(0, 24)
polygon = PackedVector2Array(-16, -47, -16, 73, -13, 79, 13, 79, 16, 73, 16, -47)
[node name="Tip" type="Node2D" parent="SmasherBody"]
position = Vector2(0, 103)
[connection signal="body_shape_entered" from="AnimTrigger" to="SmasherBody" method="_on_anim_trigger_body_shape_entered"]