Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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.
@@ -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=""
|
||||
|
||||
@@ -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,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"]
|
||||
@@ -68,6 +68,25 @@ 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"
|
||||
|
||||
[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"]]
|
||||
|
||||
+42
-41
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
|
||||
]
|
||||
var available_level = 0
|
||||
|
||||
func _ready():
|
||||
|
||||
@@ -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")
|
||||
@@ -27,10 +27,10 @@ func _physics_process(delta):
|
||||
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 +82,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
|
||||
+6
-1
@@ -76,7 +76,7 @@ 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
|
||||
@@ -163,6 +163,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 +176,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