Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7946fd789c | ||
|
|
08f75b79d8 | ||
|
|
2e845bf217 | ||
|
|
e7e72f6109 | ||
|
|
a9c2f587da | ||
|
|
30b0a527b4 | ||
|
|
3d318a5c07 |
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cbcqfbbrmin4n"
|
||||
path="res://.godot/imported/bg-1-4.png-b634dd427392b4b4f79ec130b6e42b89.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/bg-1-4.png"
|
||||
dest_files=["res://.godot/imported/bg-1-4.png-b634dd427392b4b4f79ec130b6e42b89.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: 30 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dpsuhnumiv82j"
|
||||
path="res://.godot/imported/bg-2-1.png-5097df23ce250700d0d91ce99bc5a171.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/bg-2-1.png"
|
||||
dest_files=["res://.godot/imported/bg-2-1.png-5097df23ce250700d0d91ce99bc5a171.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.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dpcasau50jn28"
|
||||
path="res://.godot/imported/04. Castle Theme.mp3-7bb3145a500b4414d1e91508ab6bd85a.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/04. Castle Theme.mp3"
|
||||
dest_files=["res://.godot/imported/04. Castle Theme.mp3-7bb3145a500b4414d1e91508ab6bd85a.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://d33nllvmlw3oh"
|
||||
path="res://.godot/imported/07. Castle Complete.mp3-d4fc76ed9c48e387466ba00be9c041a9.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/07. Castle Complete.mp3"
|
||||
dest_files=["res://.godot/imported/07. Castle Complete.mp3-d4fc76ed9c48e387466ba00be9c041a9.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
+3
-3
@@ -419,7 +419,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Web/retromario.html"
|
||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Web/retromario.html"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
@@ -438,10 +438,10 @@ html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/enabled=true
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
progressive_web_app/orientation=1
|
||||
progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
|
||||
+2
-1
@@ -20,7 +20,7 @@ config/icon="res://assets/icon.png"
|
||||
[display]
|
||||
|
||||
window/stretch/mode="viewport"
|
||||
window/stretch/aspect="keep_height"
|
||||
window/vsync/vsync_mode=0
|
||||
|
||||
[global]
|
||||
|
||||
@@ -64,6 +64,7 @@ crawl={
|
||||
flower={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://badk308gvg1my"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/blocks/itemblock_invisible.gd" id="1_ap62p"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4kmo0"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_enc16"]
|
||||
size = Vector2(10, 1)
|
||||
|
||||
[node name="itemblock_invisible" type="RigidBody2D"]
|
||||
gravity_scale = 0.0
|
||||
script = ExtResource("1_ap62p")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_4kmo0")
|
||||
|
||||
[node name="activate" type="Area2D" parent="."]
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
|
||||
position = Vector2(8, 0.5)
|
||||
shape = SubResource("RectangleShape2D_enc16")
|
||||
|
||||
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bobox153pirkx"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_7tugu"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c4pt3"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[node name="Platform" type="AnimatableBody2D"]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
z_index = 20
|
||||
texture = ExtResource("1_7tugu")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(26, 38, 32, 8)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_c4pt3")
|
||||
one_way_collision = true
|
||||
@@ -0,0 +1,62 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://43ujxqfabnuq"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_7p65b"]
|
||||
[ext_resource type="Script" path="res://scripts/enemies/bowser_jr_fire.gd" id="1_tnrjq"]
|
||||
[ext_resource type="AudioStream" uid="uid://csx5laixrg5dh" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Enemy Fire.wav" id="3_i70fm"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4dnoh"]
|
||||
atlas = ExtResource("1_7p65b")
|
||||
region = Rect2(101, 253, 24, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7tb0p"]
|
||||
atlas = ExtResource("1_7p65b")
|
||||
region = Rect2(131, 253, 24, 8)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_kv1f5"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4dnoh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7tb0p")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_axybf"]
|
||||
size = Vector2(24, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mxod3"]
|
||||
size = Vector2(24, 8)
|
||||
|
||||
[node name="BowserJRFire" type="Area2D"]
|
||||
collision_layer = 128
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_tnrjq")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(-12, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_kv1f5")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-12, 0)
|
||||
shape = SubResource("RectangleShape2D_axybf")
|
||||
|
||||
[node name="die" type="Area2D" parent="."]
|
||||
collision_layer = 2147483648
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="die"]
|
||||
position = Vector2(-12, 0)
|
||||
shape = SubResource("RectangleShape2D_mxod3")
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("3_i70fm")
|
||||
autoplay = true
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered_player"]
|
||||
[connection signal="body_entered" from="die" to="." method="_on_die_body_entered"]
|
||||
[connection signal="finished" from="AudioStreamPlayer2D" to="." method="_on_audio_stream_player_2d_finished"]
|
||||
@@ -0,0 +1,119 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://byk5q0ddm54hi"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/bowserjr.gd" id="1_0ucqp"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_q71vc"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jv53y"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(122, 211, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1tyng"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(82, 211, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_q2270"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(2, 211, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3jf1h"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(42, 211, 32, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_xw3te"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jv53y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1tyng")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_q2270")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3jf1h")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"open_mouth",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_tvg0d"]
|
||||
radius = 16.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pjtcx"]
|
||||
resource_name = "default"
|
||||
length = 6.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "method"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(3, 5.9),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"shoot"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"jump"
|
||||
}]
|
||||
}
|
||||
tracks/1/type = "method"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(6),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"shoot"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_y7g55"]
|
||||
_data = {
|
||||
"default": SubResource("Animation_pjtcx")
|
||||
}
|
||||
|
||||
[node name="bowserjr" type="RigidBody2D"]
|
||||
collision_layer = 128
|
||||
gravity_scale = 0.6
|
||||
script = ExtResource("1_0ucqp")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(16, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_xw3te")
|
||||
animation = &"open_mouth"
|
||||
autoplay = "default"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(16, -16)
|
||||
shape = SubResource("CircleShape2D_tvg0d")
|
||||
|
||||
[node name="ShootSpawner" type="Node2D" parent="."]
|
||||
position = Vector2(0, -22)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_y7g55")
|
||||
}
|
||||
autoplay = "default"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
@@ -0,0 +1,238 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://d0npbb0w73ajk"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cbcqfbbrmin4n" path="res://assets/bg-1-4.png" id="1_gsxjq"]
|
||||
[ext_resource type="Script" path="res://scripts/enemies/bridge.gd" id="1_itywv"]
|
||||
[ext_resource type="AudioStream" uid="uid://d33nllvmlw3oh" path="res://assets/sounds/07. Castle Complete.mp3" id="3_aqpeh"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7th4j"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6td4j"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[node name="bridge" type="Node2D"]
|
||||
script = ExtResource("1_itywv")
|
||||
|
||||
[node name="RigidBody2D" type="RigidBody2D" parent="."]
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D2" type="RigidBody2D" parent="."]
|
||||
position = Vector2(16, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D2"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D2"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D3" type="RigidBody2D" parent="."]
|
||||
position = Vector2(32, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D3"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D3"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D4" type="RigidBody2D" parent="."]
|
||||
position = Vector2(48, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D4"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D4"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D5" type="RigidBody2D" parent="."]
|
||||
position = Vector2(64, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D5"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D5"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D6" type="RigidBody2D" parent="."]
|
||||
position = Vector2(80, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D6"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D6"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D7" type="RigidBody2D" parent="."]
|
||||
position = Vector2(96, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D7"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D7"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D8" type="RigidBody2D" parent="."]
|
||||
position = Vector2(112, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D8"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D8"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D9" type="RigidBody2D" parent="."]
|
||||
position = Vector2(128, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D9"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D9"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D10" type="RigidBody2D" parent="."]
|
||||
position = Vector2(144, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D10"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D10"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D11" type="RigidBody2D" parent="."]
|
||||
position = Vector2(160, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D11"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D11"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D12" type="RigidBody2D" parent="."]
|
||||
position = Vector2(176, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D12"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D12"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D13" type="RigidBody2D" parent="."]
|
||||
position = Vector2(192, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D13"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D13"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="chain" type="Sprite2D" parent="."]
|
||||
position = Vector2(200, -24)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2240, 144, 16, 16)
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="Sprite2D15" type="Sprite2D" parent="Area2D"]
|
||||
position = Vector2(216, -40)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2256, 128, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(216, -40)
|
||||
shape = SubResource("RectangleShape2D_6td4j")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.2
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("3_aqpeh")
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
[connection signal="finished" from="AudioStreamPlayer" to="." method="_on_audio_stream_player_finished"]
|
||||
@@ -51,6 +51,7 @@ lock_rotation = true
|
||||
script = ExtResource("1_iin32")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
z_index = 3
|
||||
position = Vector2(8, -12)
|
||||
sprite_frames = SubResource("SpriteFrames_g2x7m")
|
||||
autoplay = "default"
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b4rid627344t4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_gwkcq"]
|
||||
[ext_resource type="Script" path="res://scripts/enemies/fire_wand.gd" id="1_lapua"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yd1fw"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(26, 150, 8, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_owi6g"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(41, 150, 8, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e5nv8"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(26, 165, 8, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5oy1g"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(41, 165, 8, 8)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_6y4se"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yd1fw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_owi6g")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e5nv8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5oy1g")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2qrrp"]
|
||||
size = Vector2(58, 8)
|
||||
|
||||
[node name="fire_wand" type="Area2D"]
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_lapua")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
frame_progress = 0.284379
|
||||
|
||||
[node name="AnimatedSprite2D3" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(10, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.428306
|
||||
|
||||
[node name="AnimatedSprite2D2" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(20, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
frame_progress = 0.284379
|
||||
|
||||
[node name="AnimatedSprite2D4" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(30, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.428306
|
||||
|
||||
[node name="AnimatedSprite2D5" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(40, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
frame_progress = 0.284379
|
||||
|
||||
[node name="AnimatedSprite2D6" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(50, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.428306
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(25, 0)
|
||||
shape = SubResource("RectangleShape2D_2qrrp")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
@@ -50,6 +50,7 @@ lock_rotation = true
|
||||
script = ExtResource("1_o30u3")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
z_index = 3
|
||||
position = Vector2(8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_xnecu")
|
||||
autoplay = "default"
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://cwhx0kcemeyx"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/blocks/itemblock.gd" id="1_rbj5t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bp71ntkh281k5" path="res://scenes/items/fire_flower.tscn" id="2_ov77e"]
|
||||
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="3_v5sih"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lo6hv"]
|
||||
atlas = ExtResource("3_v5sih")
|
||||
region = Rect2(4, 4, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ghd0r"]
|
||||
atlas = ExtResource("3_v5sih")
|
||||
region = Rect2(34, 4, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5py80"]
|
||||
atlas = ExtResource("3_v5sih")
|
||||
region = Rect2(64, 4, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4m3oc"]
|
||||
atlas = ExtResource("3_v5sih")
|
||||
region = Rect2(4, 4, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_r54gk"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lo6hv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ghd0r")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5py80")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"destroy",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4m3oc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4kmo0"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_enc16"]
|
||||
size = Vector2(10, 1)
|
||||
|
||||
[node name="itemblock" type="RigidBody2D"]
|
||||
gravity_scale = 0.0
|
||||
script = ExtResource("1_rbj5t")
|
||||
hit_object = ExtResource("2_ov77e")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_r54gk")
|
||||
animation = &"destroy"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_4kmo0")
|
||||
|
||||
[node name="activate" type="Area2D" parent="."]
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
|
||||
position = Vector2(8, 0.5)
|
||||
shape = SubResource("RectangleShape2D_enc16")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.3
|
||||
one_shot = true
|
||||
|
||||
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
@@ -0,0 +1,80 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://d032da33bfwtu"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/blocks/itemblock.gd" id="1_3b5hu"]
|
||||
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="2_iid7x"]
|
||||
[ext_resource type="PackedScene" uid="uid://b4dp88urmm7g8" path="res://scenes/items/mushroom.tscn" id="2_np1mh"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lo6hv"]
|
||||
atlas = ExtResource("2_iid7x")
|
||||
region = Rect2(4, 4, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ghd0r"]
|
||||
atlas = ExtResource("2_iid7x")
|
||||
region = Rect2(34, 4, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5py80"]
|
||||
atlas = ExtResource("2_iid7x")
|
||||
region = Rect2(64, 4, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4m3oc"]
|
||||
atlas = ExtResource("2_iid7x")
|
||||
region = Rect2(4, 4, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_r54gk"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lo6hv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ghd0r")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5py80")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"destroy",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4m3oc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4kmo0"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_enc16"]
|
||||
size = Vector2(10, 1)
|
||||
|
||||
[node name="itemblock" type="RigidBody2D"]
|
||||
gravity_scale = 0.0
|
||||
script = ExtResource("1_3b5hu")
|
||||
hit_object = ExtResource("2_np1mh")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_r54gk")
|
||||
animation = &"destroy"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_4kmo0")
|
||||
|
||||
[node name="activate" type="Area2D" parent="."]
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
|
||||
position = Vector2(8, 0.5)
|
||||
shape = SubResource("RectangleShape2D_enc16")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.3
|
||||
one_shot = true
|
||||
|
||||
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
@@ -0,0 +1,62 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://daaajdv7ve15a"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_cnc0s"]
|
||||
[ext_resource type="Script" path="res://scripts/items/jump_thing.gd" id="1_nrv87"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jjx8i"]
|
||||
atlas = ExtResource("1_cnc0s")
|
||||
region = Rect2(94, 0, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8phfu"]
|
||||
atlas = ExtResource("1_cnc0s")
|
||||
region = Rect2(154, 8, 16, 8)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_1s1v4"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jjx8i")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8phfu")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"down",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mnewg"]
|
||||
size = Vector2(14, 25)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_luw3y"]
|
||||
size = Vector2(16, 24)
|
||||
|
||||
[node name="jump_thing" type="Node2D"]
|
||||
script = ExtResource("1_nrv87")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(8, -12)
|
||||
sprite_frames = SubResource("SpriteFrames_1s1v4")
|
||||
animation = &"down"
|
||||
autoplay = "default"
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(8, -12.5)
|
||||
shape = SubResource("RectangleShape2D_mnewg")
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
|
||||
position = Vector2(8, -12)
|
||||
shape = SubResource("RectangleShape2D_luw3y")
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
|
||||
[connection signal="body_exited" from="Area2D" to="." method="_on_area_2d_body_exited"]
|
||||
@@ -68,6 +68,44 @@ theme_override_font_sizes/font_size = 24
|
||||
disabled = true
|
||||
text = "Level 3"
|
||||
|
||||
[node name="Button_4" type="Button" parent="Control"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = 32.0
|
||||
offset_top = -36.0
|
||||
offset_right = 240.0
|
||||
offset_bottom = 28.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
disabled = true
|
||||
text = "Level 4"
|
||||
|
||||
[node name="Button_5" type="Button" parent="Control"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -240.0
|
||||
offset_top = 76.0
|
||||
offset_right = -32.0
|
||||
offset_bottom = 140.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
disabled = true
|
||||
text = "Level 5"
|
||||
|
||||
[connection signal="pressed" from="Control/Button_1" to="." method="_on_button_pressed" binds= ["1"]]
|
||||
[connection signal="pressed" from="Control/Button_2" to="." method="_on_button_pressed" binds= ["2"]]
|
||||
[connection signal="pressed" from="Control/Button_3" to="." method="_on_button_pressed" binds= ["3"]]
|
||||
[connection signal="pressed" from="Control/Button_4" to="." method="_on_button_pressed" binds= ["4"]]
|
||||
[connection signal="pressed" from="Control/Button_5" to="." method="_on_button_pressed" binds= ["5"]]
|
||||
|
||||
@@ -19089,6 +19089,8 @@ auto_collect = true
|
||||
|
||||
[node name="destroyblock" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(160, -48)
|
||||
hit_object = ExtResource("4_7ycg6")
|
||||
auto_collect = true
|
||||
|
||||
[node name="itemblock2" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
||||
position = Vector2(176, -48)
|
||||
@@ -19096,6 +19098,8 @@ hit_object = ExtResource("6_1e33i")
|
||||
|
||||
[node name="destroyblock2" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(192, -48)
|
||||
hit_object = ExtResource("4_7ycg6")
|
||||
auto_collect = true
|
||||
|
||||
[node name="itemblock3" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
||||
position = Vector2(208, -48)
|
||||
@@ -19160,6 +19164,8 @@ auto_collect = true
|
||||
|
||||
[node name="destroyblock17" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(1424, -48)
|
||||
hit_object = ExtResource("4_7ycg6")
|
||||
auto_collect = true
|
||||
|
||||
[node name="destroyblock18" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(1520, -48)
|
||||
@@ -19316,19 +19322,22 @@ position = Vector2(736, 0)
|
||||
position = Vector2(768, 0)
|
||||
|
||||
[node name="Gumba4" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1120, 0)
|
||||
position = Vector2(1200, -128)
|
||||
|
||||
[node name="Gumba5" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1152, 0)
|
||||
position = Vector2(1232, -128)
|
||||
|
||||
[node name="Gumba6" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1472, 0)
|
||||
|
||||
[node name="Gumba16" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1504, 0)
|
||||
|
||||
[node name="Gumba8" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(2672, 0)
|
||||
position = Vector2(2784, 0)
|
||||
|
||||
[node name="Gumba9" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(2752, 0)
|
||||
position = Vector2(2816, 0)
|
||||
|
||||
[node name="Gumba10" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(576, 0)
|
||||
@@ -19343,10 +19352,10 @@ position = Vector2(1760, 0)
|
||||
position = Vector2(1792, 0)
|
||||
|
||||
[node name="Gumba12" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1904, 0)
|
||||
position = Vector2(1936, 0)
|
||||
|
||||
[node name="Gumba13" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1936, 0)
|
||||
position = Vector2(1968, 0)
|
||||
|
||||
[node name="Gumba14" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(2016, 0)
|
||||
|
||||
+18
-25
@@ -45095,6 +45095,8 @@ text = "120"
|
||||
|
||||
[node name="destroyblock_dark" parent="breakBlocks" instance=ExtResource("6_hol3k")]
|
||||
position = Vector2(336, -64)
|
||||
hit_object = ExtResource("9_a4rwl")
|
||||
auto_collect = true
|
||||
|
||||
[node name="destroyblock_dark2" parent="breakBlocks" instance=ExtResource("6_hol3k")]
|
||||
position = Vector2(480, -48)
|
||||
@@ -45239,6 +45241,7 @@ position = Vector2(864, -144)
|
||||
|
||||
[node name="destroyblock_dark80" parent="breakBlocks" instance=ExtResource("6_hol3k")]
|
||||
position = Vector2(960, -48)
|
||||
hit_object = ExtResource("14_kgxub")
|
||||
|
||||
[node name="destroyblock_dark118" parent="breakBlocks" instance=ExtResource("6_hol3k")]
|
||||
position = Vector2(944, -48)
|
||||
@@ -45293,6 +45296,8 @@ position = Vector2(1008, -64)
|
||||
|
||||
[node name="destroyblock_dark85" parent="breakBlocks" instance=ExtResource("6_hol3k")]
|
||||
position = Vector2(1024, -64)
|
||||
hit_object = ExtResource("9_a4rwl")
|
||||
auto_collect = true
|
||||
|
||||
[node name="destroyblock_dark86" parent="breakBlocks" instance=ExtResource("6_hol3k")]
|
||||
position = Vector2(1008, -80)
|
||||
@@ -45614,6 +45619,7 @@ position = Vector2(2336, -64)
|
||||
|
||||
[node name="destroyblock_dark174" parent="breakBlocks" instance=ExtResource("6_hol3k")]
|
||||
position = Vector2(2352, -64)
|
||||
hit_object = ExtResource("14_kgxub")
|
||||
|
||||
[node name="interactionBlocks" type="Node" parent="."]
|
||||
|
||||
@@ -45641,10 +45647,6 @@ position = Vector2(96, -48)
|
||||
hit_object = ExtResource("9_a4rwl")
|
||||
auto_collect = true
|
||||
|
||||
[node name="itemblock6" parent="interactionBlocks" instance=ExtResource("6_1xseh")]
|
||||
position = Vector2(960, -64)
|
||||
hit_object = ExtResource("14_kgxub")
|
||||
|
||||
[node name="coins" type="Node" parent="."]
|
||||
|
||||
[node name="Coin" parent="coins" instance=ExtResource("9_a4rwl")]
|
||||
@@ -45768,19 +45770,19 @@ target = Vector2(-80, -736)
|
||||
[node name="enemies" type="Node" parent="."]
|
||||
|
||||
[node name="Gumba" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(96, 0)
|
||||
position = Vector2(112, 0)
|
||||
|
||||
[node name="Gumba2" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(128, 0)
|
||||
position = Vector2(144, -16)
|
||||
|
||||
[node name="Gumba3" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(336, 0)
|
||||
|
||||
[node name="coopa" parent="enemies" instance=ExtResource("17_4rxmp")]
|
||||
position = Vector2(496, 0)
|
||||
position = Vector2(560, 0)
|
||||
|
||||
[node name="coopa2" parent="enemies" instance=ExtResource("17_4rxmp")]
|
||||
position = Vector2(528, 0)
|
||||
position = Vector2(592, 0)
|
||||
|
||||
[node name="coopa3" parent="enemies" instance=ExtResource("17_4rxmp")]
|
||||
position = Vector2(800, 0)
|
||||
@@ -45792,17 +45794,20 @@ position = Vector2(848, 0)
|
||||
position = Vector2(896, 0)
|
||||
|
||||
[node name="Gumba6" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(1120, 0)
|
||||
position = Vector2(1104, -64)
|
||||
|
||||
[node name="Gumba7" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(1088, 0)
|
||||
position = Vector2(960, -64)
|
||||
|
||||
[node name="Gumba8" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(1088, -64)
|
||||
position = Vector2(1072, -64)
|
||||
|
||||
[node name="Gumba9" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(1424, 0)
|
||||
|
||||
[node name="Gumba14" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(1632, 0)
|
||||
|
||||
[node name="Gumba10" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(1392, 0)
|
||||
|
||||
@@ -45810,10 +45815,10 @@ position = Vector2(1392, 0)
|
||||
position = Vector2(1360, 0)
|
||||
|
||||
[node name="Gumba12" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(2000, -48)
|
||||
position = Vector2(2032, -64)
|
||||
|
||||
[node name="Gumba13" parent="enemies" instance=ExtResource("16_qpvvg")]
|
||||
position = Vector2(1968, -16)
|
||||
position = Vector2(2000, -48)
|
||||
|
||||
[node name="coopa4" parent="enemies" instance=ExtResource("17_4rxmp")]
|
||||
position = Vector2(2272, 0)
|
||||
@@ -45829,18 +45834,6 @@ position = Vector2(1584, -64)
|
||||
[node name="StaticBody2D" parent="invisibleBarriers" instance=ExtResource("18_ujrgy")]
|
||||
position = Vector2(1824, 0)
|
||||
|
||||
[node name="StaticBody2D2" parent="invisibleBarriers" instance=ExtResource("18_ujrgy")]
|
||||
position = Vector2(1168, 0)
|
||||
|
||||
[node name="StaticBody2D3" parent="invisibleBarriers" instance=ExtResource("18_ujrgy")]
|
||||
position = Vector2(1136, 0)
|
||||
|
||||
[node name="StaticBody2D6" parent="invisibleBarriers" instance=ExtResource("18_ujrgy")]
|
||||
position = Vector2(1056, -64)
|
||||
|
||||
[node name="StaticBody2D7" parent="invisibleBarriers" instance=ExtResource("18_ujrgy")]
|
||||
position = Vector2(1136, -64)
|
||||
|
||||
[node name="StaticBody2D8" parent="invisibleBarriers" instance=ExtResource("18_ujrgy")]
|
||||
position = Vector2(2160, 0)
|
||||
|
||||
|
||||
+43
-57
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -270,7 +270,10 @@ fireball_prefab = ExtResource("2_owoxk")
|
||||
position = Vector2(35, 0)
|
||||
zoom = Vector2(3, 3)
|
||||
limit_left = -160
|
||||
limit_top = -184
|
||||
limit_bottom = 32
|
||||
limit_smoothed = true
|
||||
position_smoothing_speed = 8.0
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="Camera2D"]
|
||||
visible = false
|
||||
|
||||
@@ -8,9 +8,13 @@ func _ready():
|
||||
var platform = ""
|
||||
|
||||
match OS.get_name():
|
||||
"Windows", "macOS", "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD", "Web":
|
||||
"Windows", "macOS", "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD":
|
||||
label.text = "A, S, D To Move"
|
||||
label_2.text = "Space To Jump"
|
||||
label_3.text = "E To Fire"
|
||||
"Web":
|
||||
label.text = "Swipe Left/W, S, A, D"
|
||||
label_2.text = "Right Down Tap/Space"
|
||||
label_3.text = "Right Up Tap/E"
|
||||
"Android", "iOS":
|
||||
pass
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@onready var buttons = [$Control/Button_1, $Control/Button_2, $Control/Button_3]
|
||||
@onready var buttons = [$Control/Button_1, $Control/Button_2, $Control/Button_3,
|
||||
$Control/Button_4, $Control/Button_5
|
||||
]
|
||||
var available_level = 0
|
||||
|
||||
func _ready():
|
||||
|
||||
@@ -2,10 +2,22 @@ extends RigidBody2D
|
||||
|
||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||
@onready var animation_player = $AnimationPlayer
|
||||
@export var hit_object : PackedScene
|
||||
@export var auto_collect : bool
|
||||
const ITEMBLOCK = preload("res://scenes/blocks/itemblock.tscn")
|
||||
|
||||
func _ready():
|
||||
animated_sprite_2d.play("default")
|
||||
|
||||
func _on_activate_body_entered(body):
|
||||
if body.is_big:
|
||||
animation_player.play("destroy")
|
||||
if hit_object == null:
|
||||
if body.is_big:
|
||||
animation_player.play("destroy")
|
||||
else:
|
||||
var inst2 = ITEMBLOCK.instantiate()
|
||||
get_parent().add_child(inst2)
|
||||
inst2.position.x = position.x
|
||||
inst2.position.y = position.y
|
||||
inst2.hit_object = hit_object
|
||||
inst2.auto_collect = auto_collect
|
||||
queue_free()
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
extends RigidBody2D
|
||||
@export var hit_object:PackedScene
|
||||
@onready var collision_shape_2d = $CollisionShape2D
|
||||
|
||||
func _ready():
|
||||
collision_shape_2d.disabled = true
|
||||
|
||||
func _on_activate_body_entered(body):
|
||||
if hit_object == null:
|
||||
return
|
||||
|
||||
if body.velocity.y > 0:
|
||||
return
|
||||
|
||||
var instance = hit_object.instantiate()
|
||||
get_parent().add_child(instance)
|
||||
instance.position.x = position.x
|
||||
instance.position.y = position.y
|
||||
queue_free()
|
||||
@@ -0,0 +1,19 @@
|
||||
extends Area2D
|
||||
|
||||
@export var speed = 80
|
||||
@onready var audio_stream_player_2d = $AudioStreamPlayer2D
|
||||
|
||||
func _on_die_body_entered(body):
|
||||
queue_free()
|
||||
|
||||
func _physics_process(delta):
|
||||
position.x += speed * delta
|
||||
|
||||
|
||||
func _on_body_entered_player(body):
|
||||
body.shrink()
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_audio_stream_player_2d_finished():
|
||||
audio_stream_player_2d.play()
|
||||
@@ -0,0 +1,43 @@
|
||||
extends RigidBody2D
|
||||
@onready var player = %player
|
||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||
@onready var shoot_spawner = $ShootSpawner
|
||||
const BOWSER_JR_FIRE = preload("res://scenes/enemies/bowser_jr_fire.tscn")
|
||||
var shoot_direction = -1
|
||||
const jump_force = 250
|
||||
@onready var timer = $Timer
|
||||
var pause = false
|
||||
|
||||
func _process(delta):
|
||||
if pause:
|
||||
return
|
||||
if player.position.x > position.x:
|
||||
animated_sprite_2d.flip_h = true
|
||||
shoot_direction = 1
|
||||
shoot_spawner.position.x = 32
|
||||
else:
|
||||
animated_sprite_2d.flip_h = false
|
||||
shoot_direction = -1
|
||||
shoot_spawner.position.x = 0
|
||||
|
||||
func shoot():
|
||||
if pause:
|
||||
return
|
||||
animated_sprite_2d.play("open_mouth")
|
||||
timer.start()
|
||||
var instance = BOWSER_JR_FIRE.instantiate()
|
||||
instance.speed *= shoot_direction
|
||||
get_parent().add_child(instance)
|
||||
instance.position.x = shoot_spawner.global_position.x
|
||||
instance.position.y = shoot_spawner.global_position.y
|
||||
|
||||
func jump():
|
||||
if pause:
|
||||
return
|
||||
linear_velocity.y = -jump_force
|
||||
|
||||
func f_die():
|
||||
pass
|
||||
|
||||
func _on_timer_timeout():
|
||||
animated_sprite_2d.play("default")
|
||||
@@ -0,0 +1,46 @@
|
||||
extends Node2D
|
||||
@onready var bridge_parts = [
|
||||
$RigidBody2D13,
|
||||
$RigidBody2D12,$RigidBody2D11,$RigidBody2D10,$RigidBody2D9,$RigidBody2D8,
|
||||
$RigidBody2D7,$RigidBody2D6,$RigidBody2D5,$RigidBody2D4,$RigidBody2D3,
|
||||
$RigidBody2D2,$RigidBody2D
|
||||
]
|
||||
@onready var chain = $chain
|
||||
@onready var timer = $Timer
|
||||
@onready var sprite_2d_15 = $Area2D/Sprite2D15
|
||||
@onready var player = %player
|
||||
@onready var bowserjr = %bowserjr
|
||||
@onready var audio_stream_player = $AudioStreamPlayer
|
||||
@onready var music = %Music
|
||||
@export var level_score : int
|
||||
|
||||
var curr_down = 0
|
||||
|
||||
func _on_area_2d_body_entered(body):
|
||||
music.stop()
|
||||
audio_stream_player.play()
|
||||
chain.visible = false
|
||||
player.on_pause = true
|
||||
bowserjr.pause = true
|
||||
sprite_2d_15.rotation_degrees = -90
|
||||
timer.start()
|
||||
|
||||
|
||||
func _on_timer_timeout():
|
||||
if curr_down < len(bridge_parts):
|
||||
bridge_parts[curr_down].gravity_scale = 1
|
||||
curr_down += 1
|
||||
else:
|
||||
timer.stop()
|
||||
|
||||
|
||||
func _on_audio_stream_player_finished():
|
||||
var config = ConfigFile.new()
|
||||
var err = config.load("user://config.cfg")
|
||||
|
||||
if err == OK:
|
||||
var available_level = config.get_value("level", "available_level", 0)
|
||||
level_score = level_score if level_score > available_level else available_level
|
||||
config.set_value("level", "available_level", level_score)
|
||||
config.save("user://config.cfg")
|
||||
get_tree().change_scene_to_file("res://scenes/levels/level_0.tscn")
|
||||
@@ -14,6 +14,7 @@ var is_down = false
|
||||
@onready var collision_shape_2d = $CollisionShape2D
|
||||
@onready var ray_cast_left_3 = $RayCastLeft3
|
||||
@onready var ray_cast_right_3 = $RayCastRight3
|
||||
@onready var player = %player
|
||||
|
||||
func _ready():
|
||||
var coll = CapsuleShape2D.new()
|
||||
@@ -22,15 +23,16 @@ func _ready():
|
||||
collision_shape_2d.shape = coll
|
||||
|
||||
func _physics_process(delta):
|
||||
linear_velocity.x = speed
|
||||
if abs(position.x - player.position.x) < 225 or is_down:
|
||||
linear_velocity.x = speed
|
||||
|
||||
if ray_cast_left_2 == null:
|
||||
return
|
||||
|
||||
if (ray_cast_left.is_colliding() or ray_cast_left_2.is_colliding()) and not is_down:
|
||||
if ray_cast_left.is_colliding() or ray_cast_left_2.is_colliding():
|
||||
speed = abs(speed)
|
||||
animated_sprite_2d.flip_h = true
|
||||
elif (ray_cast_right.is_colliding() or ray_cast_right_2.is_colliding()) and not is_down:
|
||||
elif ray_cast_right.is_colliding() or ray_cast_right_2.is_colliding():
|
||||
speed = -abs(speed)
|
||||
animated_sprite_2d.flip_h = false
|
||||
|
||||
@@ -82,6 +84,9 @@ func f_die():
|
||||
func f_shrink(body):
|
||||
die_sound.play()
|
||||
if not is_down:
|
||||
# collission mask only to walls
|
||||
ray_cast_left.collision_mask = pow(2, 1-1)
|
||||
ray_cast_right.collision_mask = pow(2, 1-1)
|
||||
speed = 0
|
||||
collision_shape_2d.shape.height -= 9
|
||||
die.position.y += 2
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
extends Area2D
|
||||
|
||||
@export var rot_speed = 3
|
||||
@onready var timer = $Timer
|
||||
|
||||
var innocent = false
|
||||
|
||||
func _physics_process(delta):
|
||||
rotate(rot_speed * delta)
|
||||
|
||||
|
||||
func _on_body_entered(body):
|
||||
if not innocent:
|
||||
body.shrink()
|
||||
innocent = true
|
||||
timer.start()
|
||||
|
||||
|
||||
func _on_timer_timeout():
|
||||
innocent = false
|
||||
@@ -11,9 +11,11 @@ extends RigidBody2D
|
||||
var innocent = false
|
||||
@onready var timer_2 = $Timer2
|
||||
@onready var gumba = $"."
|
||||
@onready var player = %player
|
||||
|
||||
func _physics_process(delta):
|
||||
linear_velocity.x = speed
|
||||
if abs(position.x - player.position.x) < 225:
|
||||
linear_velocity.x = speed
|
||||
|
||||
if ray_cast_left_2 == null:
|
||||
return
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
extends Node2D
|
||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||
@onready var collision_shape_2d = $StaticBody2D/CollisionShape2D
|
||||
|
||||
func _on_area_2d_body_entered(body):
|
||||
animated_sprite_2d.play("down")
|
||||
body.JUMPt_velocity *= 1.6
|
||||
animated_sprite_2d.position.y += 8
|
||||
collision_shape_2d.position.y += 8
|
||||
collision_shape_2d.shape.size.y -= 16
|
||||
|
||||
|
||||
func _on_area_2d_body_exited(body):
|
||||
animated_sprite_2d.play("default")
|
||||
body.JUMPt_velocity /= 1.6
|
||||
animated_sprite_2d.position.y -= 8
|
||||
collision_shape_2d.position.y -= 8
|
||||
collision_shape_2d.shape.size.y += 16
|
||||
+8
-2
@@ -16,7 +16,7 @@ extends CharacterBody2D
|
||||
|
||||
|
||||
const SPEED = 130.0
|
||||
const JUMPt_velocity = -360.0
|
||||
var JUMPt_velocity = -360.0
|
||||
var on_pipe = false
|
||||
var right_pipe = false
|
||||
var left_pipe = false
|
||||
@@ -76,13 +76,14 @@ func _process(delta):
|
||||
# set camera
|
||||
if position.y <= 32:
|
||||
camera_2d.limit_bottom = 32
|
||||
camera_2d.limit_top = -1000000
|
||||
camera_2d.limit_top = -1000
|
||||
else:
|
||||
camera_2d.limit_bottom = 272
|
||||
camera_2d.limit_top = 32
|
||||
|
||||
# check pipe
|
||||
if on_pipe and (Input.is_action_just_pressed("crawl") or crawl) and is_on_floor() or right_pipe and (Input.is_action_pressed("move_right") or t_velocity > 0):
|
||||
on_pause = true
|
||||
pipe_sound.play()
|
||||
crawl = false
|
||||
t_velocity = 0
|
||||
@@ -163,6 +164,8 @@ func _physics_process(delta):
|
||||
func grow():
|
||||
if not is_big:
|
||||
is_big = true
|
||||
if is_on_floor():
|
||||
position.y -= 20
|
||||
collision_shape_2d.shape.height = 31
|
||||
pipedetector_ground.position.y += 8
|
||||
|
||||
@@ -174,6 +177,9 @@ func flower():
|
||||
is_flower = true
|
||||
|
||||
func shrink():
|
||||
if on_pause:
|
||||
return
|
||||
|
||||
if is_flower:
|
||||
is_flower = false
|
||||
shrink_sound.play()
|
||||
|
||||
Reference in New Issue
Block a user