mirror of
https://git.kittycat.homes/zoe/pegchamp.git
synced 2024-08-15 03:15:39 +00:00
added springs
This commit is contained in:
parent
62762082f7
commit
e08c2c3ef2
19 changed files with 201 additions and 16 deletions
|
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="f3ededfe15c0a0b8aa0a6ee26d47da04"
|
||||||
|
dest_md5="c08cfee8bf27820a7edb3d6201230baf"
|
||||||
|
|
||||||
BIN
.import/spring-Sheet.png-718e1b4dad665f9bd10e67650a1d47b1.stex
Normal file
BIN
.import/spring-Sheet.png-718e1b4dad665f9bd10e67650a1d47b1.stex
Normal file
Binary file not shown.
BIN
Aseprite/spring.ase
Normal file
BIN
Aseprite/spring.ase
Normal file
Binary file not shown.
|
|
@ -47,8 +47,10 @@ func set_particle_direction(collider):
|
||||||
collider.set_particle_direction(linear_velocity.normalized() * -1)
|
collider.set_particle_direction(linear_velocity.normalized() * -1)
|
||||||
|
|
||||||
func bounce_of(collider):
|
func bounce_of(collider):
|
||||||
if (collider.has_method("bouncy")):
|
if collider.has_method("bouncy"):
|
||||||
apply_central_impulse(linear_velocity.normalized() * shotspeed / 6)
|
apply_central_impulse(linear_velocity.normalized() * shotspeed / 6)
|
||||||
|
if (collider).has_method("spring"):
|
||||||
|
apply_central_impulse(Vector2(0, -64))
|
||||||
|
|
||||||
func aim():
|
func aim():
|
||||||
cameraTransform.position = Vector2.ZERO + get_local_mouse_position().normalized() * 10
|
cameraTransform.position = Vector2.ZERO + get_local_mouse_position().normalized() * 10
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ tracks/2/keys = {
|
||||||
|
|
||||||
[node name="Ball" type="RigidBody2D"]
|
[node name="Ball" type="RigidBody2D"]
|
||||||
collision_layer = 4
|
collision_layer = 4
|
||||||
collision_mask = 5
|
collision_mask = 13
|
||||||
mass = 90.0
|
mass = 90.0
|
||||||
physics_material_override = ExtResource( 3 )
|
physics_material_override = ExtResource( 3 )
|
||||||
continuous_cd = 2
|
continuous_cd = 2
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ script = ExtResource( 2 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
powerup_card = "res://Pegs/Yellow/PowerupCards/Scattershot.tscn"
|
||||||
|
|
||||||
[node name="ButtonSFX" parent="." instance=ExtResource( 3 )]
|
[node name="ButtonSFX" parent="." instance=ExtResource( 3 )]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@ margin_right = 168.0
|
||||||
margin_bottom = 40.0
|
margin_bottom = 40.0
|
||||||
icon = ExtResource( 2 )
|
icon = ExtResource( 2 )
|
||||||
scene = "res://Stages/EmptyStage.tscn"
|
scene = "res://Stages/EmptyStage.tscn"
|
||||||
powerup_card = "res://Pegs/Yellow/PowerupCards/Scattershot.tscn"
|
|
||||||
|
|
||||||
[node name="SceneSelectButton2" parent="LevelListHBox" instance=ExtResource( 5 )]
|
[node name="SceneSelectButton2" parent="LevelListHBox" instance=ExtResource( 5 )]
|
||||||
anchor_right = 0.0
|
anchor_right = 0.0
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,39 @@
|
||||||
[gd_scene load_steps=6 format=2]
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Pegs/HitParticles.gd" type="Script" id=1]
|
[ext_resource path="res://Pegs/HitParticles.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://Effects/greenParticle.png" type="Texture" id=2]
|
[ext_resource path="res://Effects/greenParticle.png" type="Texture" id=2]
|
||||||
[ext_resource path="res://SFX/greenExplodes.wav" type="AudioStream" id=3]
|
[ext_resource path="res://SFX/greenExplodes.wav" type="AudioStream" id=3]
|
||||||
[ext_resource path="res://Pegs/Green/HitSFX.gd" type="Script" id=4]
|
[ext_resource path="res://Pegs/Green/HitSFX.gd" type="Script" id=4]
|
||||||
|
|
||||||
[sub_resource type="ParticlesMaterial" id=1]
|
[sub_resource type="VisualShader" id=1]
|
||||||
|
code = "shader_type spatial;
|
||||||
|
render_mode blend_add, specular_schlick_ggx, unshaded;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void vertex() {
|
||||||
|
// Output:0
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
// Output:0
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void light() {
|
||||||
|
// Output:0
|
||||||
|
|
||||||
|
}
|
||||||
|
"
|
||||||
|
modes/blend = 1
|
||||||
|
flags/unshaded = true
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id=2]
|
||||||
|
shader = SubResource( 1 )
|
||||||
|
|
||||||
|
[sub_resource type="ParticlesMaterial" id=3]
|
||||||
emission_shape = 1
|
emission_shape = 1
|
||||||
emission_sphere_radius = 2.0
|
emission_sphere_radius = 2.0
|
||||||
flag_disable_z = true
|
flag_disable_z = true
|
||||||
|
|
@ -21,6 +49,7 @@ damping = 50.0
|
||||||
damping_random = 0.5
|
damping_random = 0.5
|
||||||
|
|
||||||
[node name="HitParticles" type="Particles2D"]
|
[node name="HitParticles" type="Particles2D"]
|
||||||
|
material = SubResource( 2 )
|
||||||
scale = Vector2( 1.6, 1.6 )
|
scale = Vector2( 1.6, 1.6 )
|
||||||
z_index = -10
|
z_index = -10
|
||||||
emitting = false
|
emitting = false
|
||||||
|
|
@ -29,7 +58,7 @@ lifetime = 5.0
|
||||||
one_shot = true
|
one_shot = true
|
||||||
explosiveness = 0.95
|
explosiveness = 0.95
|
||||||
local_coords = false
|
local_coords = false
|
||||||
process_material = SubResource( 1 )
|
process_material = SubResource( 3 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ var scenes = []
|
||||||
func _ready():
|
func _ready():
|
||||||
GameStats.connect("powerup_picked", self, "queue_free")
|
GameStats.connect("powerup_picked", self, "queue_free")
|
||||||
scenes.append("res://Pegs/Yellow/PowerupCards/Scattershot.tscn")
|
scenes.append("res://Pegs/Yellow/PowerupCards/Scattershot.tscn")
|
||||||
scenes.append("res://Pegs/Yellow/PowerupCards/ExtraBall.tscn")
|
scenes.append("res://Pegs/Yellow/PowerupCards/Spring.tscn")
|
||||||
|
|
||||||
spawn_powerups(2)
|
spawn_powerups(2)
|
||||||
get_tree().paused = true
|
get_tree().paused = true
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
[gd_scene load_steps=3 format=2]
|
|
||||||
|
|
||||||
[ext_resource path="res://Pegs/Yellow/PowerupCard.tscn" type="PackedScene" id=1]
|
|
||||||
[ext_resource path="res://Ball/sprite.png" type="Texture" id=2]
|
|
||||||
|
|
||||||
[node name="TextureButton" instance=ExtResource( 1 )]
|
|
||||||
|
|
||||||
[node name="Sprite" parent="." index="0"]
|
|
||||||
texture = ExtResource( 2 )
|
|
||||||
11
Pegs/Yellow/PowerupCards/Spring.tscn
Normal file
11
Pegs/Yellow/PowerupCards/Spring.tscn
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Pegs/Yellow/PowerupCard.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://Pegs/Yellow/Powerups/Spring/spring-Sheet.png" type="Texture" id=2]
|
||||||
|
|
||||||
|
[node name="Spring" instance=ExtResource( 1 )]
|
||||||
|
powerup = "res://Pegs/Yellow/Powerups/Spring/Springs.tscn"
|
||||||
|
|
||||||
|
[node name="Sprite" parent="." index="0"]
|
||||||
|
texture = ExtResource( 2 )
|
||||||
|
hframes = 9
|
||||||
4
Pegs/Yellow/Powerups/Spring/Spring.gd
Normal file
4
Pegs/Yellow/Powerups/Spring/Spring.gd
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
extends Sprite
|
||||||
|
|
||||||
|
func animate():
|
||||||
|
$AnimationPlayer.play("Spring")
|
||||||
30
Pegs/Yellow/Powerups/Spring/Spring.tscn
Normal file
30
Pegs/Yellow/Powerups/Spring/Spring.tscn
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Pegs/Yellow/Powerups/Spring/spring-Sheet.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://Pegs/Yellow/Powerups/Spring/Spring.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=1]
|
||||||
|
resource_name = "Spring"
|
||||||
|
step = 0.01
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath(".:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
|
||||||
|
"update": 1,
|
||||||
|
"values": [ 0, 4, 6, 8, 6, 2, 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite"]
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
centered = false
|
||||||
|
hframes = 9
|
||||||
|
region_rect = Rect2( 0, 0, 32, 32 )
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/Spring = SubResource( 1 )
|
||||||
16
Pegs/Yellow/Powerups/Spring/Springs.gd
Normal file
16
Pegs/Yellow/Powerups/Spring/Springs.gd
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
extends StaticBody2D
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
position = Vector2(0, 184)
|
||||||
|
|
||||||
|
func explode():
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
func make_green():
|
||||||
|
for child in get_children():
|
||||||
|
if child.has_method("animate"):
|
||||||
|
child.animate()
|
||||||
|
$DeathTimer.start()
|
||||||
|
|
||||||
|
func spring():
|
||||||
|
pass
|
||||||
58
Pegs/Yellow/Powerups/Spring/Springs.tscn
Normal file
58
Pegs/Yellow/Powerups/Spring/Springs.tscn
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Pegs/Yellow/Powerups/Spring/Spring.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://Pegs/Yellow/Powerups/Spring/Springs.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id=1]
|
||||||
|
extents = Vector2( 192, 16 )
|
||||||
|
|
||||||
|
[node name="Springs" type="StaticBody2D"]
|
||||||
|
z_index = -24
|
||||||
|
collision_layer = 8
|
||||||
|
collision_mask = 0
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Spring" parent="." instance=ExtResource( 1 )]
|
||||||
|
|
||||||
|
[node name="Spring2" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 32, 0 )
|
||||||
|
|
||||||
|
[node name="Spring3" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 64, 0 )
|
||||||
|
|
||||||
|
[node name="Spring4" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 96, 0 )
|
||||||
|
|
||||||
|
[node name="Spring5" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 128, 0 )
|
||||||
|
|
||||||
|
[node name="Spring6" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 160, 0 )
|
||||||
|
|
||||||
|
[node name="Spring7" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 192, 0 )
|
||||||
|
|
||||||
|
[node name="Spring8" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 224, 0 )
|
||||||
|
|
||||||
|
[node name="Spring9" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 256, 0 )
|
||||||
|
|
||||||
|
[node name="Spring10" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 288, 0 )
|
||||||
|
|
||||||
|
[node name="Spring11" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 320, 0 )
|
||||||
|
|
||||||
|
[node name="Spring12" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 352, 0 )
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2( 192, 16 )
|
||||||
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
|
[node name="DeathTimer" type="Timer" parent="."]
|
||||||
|
wait_time = 0.24
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="timeout" from="DeathTimer" to="." method="explode"]
|
||||||
BIN
Pegs/Yellow/Powerups/Spring/spring-Sheet.png
Normal file
BIN
Pegs/Yellow/Powerups/Spring/spring-Sheet.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 565 B |
34
Pegs/Yellow/Powerups/Spring/spring-Sheet.png.import
Normal file
34
Pegs/Yellow/Powerups/Spring/spring-Sheet.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/spring-Sheet.png-718e1b4dad665f9bd10e67650a1d47b1.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Pegs/Yellow/Powerups/Spring/spring-Sheet.png"
|
||||||
|
dest_files=[ "res://.import/spring-Sheet.png-718e1b4dad665f9bd10e67650a1d47b1.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=false
|
||||||
|
svg/scale=1.0
|
||||||
|
|
@ -89,6 +89,7 @@ pointing/emulate_touch_from_mouse=true
|
||||||
2d_physics/layer_1="World"
|
2d_physics/layer_1="World"
|
||||||
2d_physics/layer_2="Zones"
|
2d_physics/layer_2="Zones"
|
||||||
2d_physics/layer_3="BallDetection"
|
2d_physics/layer_3="BallDetection"
|
||||||
|
2d_physics/layer_4="Powerups"
|
||||||
|
|
||||||
[physics]
|
[physics]
|
||||||
|
|
||||||
|
|
|
||||||
6
todo.md
Normal file
6
todo.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#powerups
|
||||||
|
- change the balls direction
|
||||||
|
- super bulldozer ball
|
||||||
|
- spring
|
||||||
|
-
|
||||||
|
#levels
|
||||||
Loading…
Add table
Add a link
Reference in a new issue