init
|
@ -0,0 +1,2 @@
|
||||||
|
# Normalize EOL for all files that Git considers text files.
|
||||||
|
* text=auto eol=lf
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Godot 4+ specific ignores
|
||||||
|
.godot/
|
||||||
|
|
||||||
|
# Godot-specific ignores
|
||||||
|
.import/
|
||||||
|
export.cfg
|
||||||
|
export_presets.cfg
|
||||||
|
|
||||||
|
# Imported translations (automatically generated from CSV files)
|
||||||
|
*.translation
|
||||||
|
|
||||||
|
# Mono-specific ignores
|
||||||
|
.mono/
|
||||||
|
data_*/
|
||||||
|
mono_crash.*.json
|
After Width: | Height: | Size: 603 B |
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cdyqgw8q4ixfm"
|
||||||
|
path="res://.godot/imported/arrow_down.png-f57d0d1f5ba548b3982d0fea16d6b091.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/arrow_down.png"
|
||||||
|
dest_files=["res://.godot/imported/arrow_down.png-f57d0d1f5ba548b3982d0fea16d6b091.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
|
After Width: | Height: | Size: 605 B |
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://br0of4r3mfawy"
|
||||||
|
path="res://.godot/imported/arrow_left.png-e21cfddaa3a10d21cb3935a08b616bf1.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/arrow_left.png"
|
||||||
|
dest_files=["res://.godot/imported/arrow_left.png-e21cfddaa3a10d21cb3935a08b616bf1.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
|
After Width: | Height: | Size: 431 B |
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ndanhgshr8ah"
|
||||||
|
path="res://.godot/imported/arrow_right.png-97e73a9c71c3b12ff2cef4a1a36b9cfb.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/arrow_right.png"
|
||||||
|
dest_files=["res://.godot/imported/arrow_right.png-97e73a9c71c3b12ff2cef4a1a36b9cfb.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
|
After Width: | Height: | Size: 233 B |
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://byhscsj8m2fsd"
|
||||||
|
path="res://.godot/imported/arrow_up.png-ebb58454c60e4b5f4ebd0ed45ad8d302.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/arrow_up.png"
|
||||||
|
dest_files=["res://.godot/imported/arrow_up.png-ebb58454c60e4b5f4ebd0ed45ad8d302.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
|
After Width: | Height: | Size: 29 KiB |
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dkhc3cs7opwpr"
|
||||||
|
path="res://.godot/imported/bg.webp-5056cfb5afd916cb4b845c209060bb5c.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/bg.webp"
|
||||||
|
dest_files=["res://.godot/imported/bg.webp-5056cfb5afd916cb4b845c209060bb5c.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
|
|
@ -0,0 +1,33 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="font_data_dynamic"
|
||||||
|
type="FontFile"
|
||||||
|
uid="uid://dt0gtb0q5ix4g"
|
||||||
|
path="res://.godot/imported/Xolonium-Regular.ttf-9e1b1e206bb38a4f0a7ad7c2dab215c1.fontdata"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/font/Xolonium-Regular.ttf"
|
||||||
|
dest_files=["res://.godot/imported/Xolonium-Regular.ttf-9e1b1e206bb38a4f0a7ad7c2dab215c1.fontdata"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
Rendering=null
|
||||||
|
antialiasing=1
|
||||||
|
generate_mipmaps=false
|
||||||
|
multichannel_signed_distance_field=false
|
||||||
|
msdf_pixel_range=8
|
||||||
|
msdf_size=48
|
||||||
|
allow_system_fallback=true
|
||||||
|
force_autohinter=false
|
||||||
|
hinting=1
|
||||||
|
subpixel_positioning=1
|
||||||
|
oversampling=0.0
|
||||||
|
Fallbacks=null
|
||||||
|
fallbacks=[]
|
||||||
|
Compress=null
|
||||||
|
compress=true
|
||||||
|
preload=[]
|
||||||
|
language_support={}
|
||||||
|
script_support={}
|
||||||
|
opentype_features={}
|
After Width: | Height: | Size: 54 KiB |
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://drei63665nysg"
|
||||||
|
path="res://.godot/imported/icon.png-b6a7fb2db36edd3d95dc42f1dc8c1c5d.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/icon.png"
|
||||||
|
dest_files=["res://.godot/imported/icon.png-b6a7fb2db36edd3d95dc42f1dc8c1c5d.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
|
After Width: | Height: | Size: 127 KiB |
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://16q552slsggf"
|
||||||
|
path="res://.godot/imported/letters.png-7c18056e06c3d1c061859c79549a6418.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/letters.png"
|
||||||
|
dest_files=["res://.godot/imported/letters.png-7c18056e06c3d1c061859c79549a6418.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
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="oggvorbisstr"
|
||||||
|
type="AudioStreamOggVorbis"
|
||||||
|
uid="uid://cbye052ud6ap3"
|
||||||
|
path="res://.godot/imported/House In a Forest Loop.ogg-46e48805c902206db0c6fb0bf4bc4e7d.oggvorbisstr"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/music/House In a Forest Loop.ogg"
|
||||||
|
dest_files=["res://.godot/imported/House In a Forest Loop.ogg-46e48805c902206db0c6fb0bf4bc4e7d.oggvorbisstr"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://jn8wa38j0knn"
|
||||||
|
path="res://.godot/imported/gameover.wav-04e3a467c852610fdf2fb137ef749af9.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/music/gameover.wav"
|
||||||
|
dest_files=["res://.godot/imported/gameover.wav-04e3a467c852610fdf2fb137ef749af9.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=0
|
|
@ -0,0 +1,25 @@
|
||||||
|
extends Node
|
||||||
|
signal up
|
||||||
|
signal down
|
||||||
|
signal left
|
||||||
|
signal right
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _hide():
|
||||||
|
$ColorRect.hide()
|
||||||
|
$Up.hide()
|
||||||
|
$Down.hide()
|
||||||
|
$Left.hide()
|
||||||
|
$Right.hide()
|
||||||
|
|
||||||
|
func _show():
|
||||||
|
$ColorRect.show()
|
||||||
|
$Up.show()
|
||||||
|
$Down.show()
|
||||||
|
$Left.show()
|
||||||
|
$Right.show()
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
|
@ -0,0 +1,84 @@
|
||||||
|
[gd_scene load_steps=7 format=3 uid="uid://ds7l3fhbhb4t6"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://controles.gd" id="1_ims8s"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://byhscsj8m2fsd" path="res://assets/arrow_up.png" id="1_mgiis"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cdyqgw8q4ixfm" path="res://assets/arrow_down.png" id="2_1dvjo"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://br0of4r3mfawy" path="res://assets/arrow_left.png" id="3_p10pm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ndanhgshr8ah" path="res://assets/arrow_right.png" id="4_hknr6"]
|
||||||
|
|
||||||
|
[sub_resource type="Theme" id="Theme_tlyrp"]
|
||||||
|
|
||||||
|
[node name="Controles" type="Node"]
|
||||||
|
script = ExtResource("1_ims8s")
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
offset_left = -4.0
|
||||||
|
offset_top = 405.0
|
||||||
|
offset_right = 482.0
|
||||||
|
offset_bottom = 699.0
|
||||||
|
color = Color(0.127482, 0.255395, 0.415464, 1)
|
||||||
|
|
||||||
|
[node name="Up" type="Button" parent="."]
|
||||||
|
anchors_preset = 5
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
offset_left = -105.0
|
||||||
|
offset_top = 410.0
|
||||||
|
offset_right = 103.0
|
||||||
|
offset_bottom = 550.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
icon = ExtResource("1_mgiis")
|
||||||
|
icon_alignment = 1
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
|
[node name="Down" type="Button" parent="."]
|
||||||
|
anchors_preset = 7
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -105.0
|
||||||
|
offset_top = -166.0
|
||||||
|
offset_right = 103.0
|
||||||
|
offset_bottom = -26.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
icon = ExtResource("2_1dvjo")
|
||||||
|
icon_alignment = 1
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
|
[node name="Left" type="Button" parent="."]
|
||||||
|
anchors_preset = 4
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -4.0
|
||||||
|
offset_top = 50.0
|
||||||
|
offset_right = 132.0
|
||||||
|
offset_bottom = 334.0
|
||||||
|
grow_vertical = 2
|
||||||
|
icon = ExtResource("3_p10pm")
|
||||||
|
icon_alignment = 1
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
|
[node name="Right" type="Button" parent="."]
|
||||||
|
anchors_preset = 6
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -134.0
|
||||||
|
offset_top = 50.0
|
||||||
|
offset_right = 2.0
|
||||||
|
offset_bottom = 334.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 2
|
||||||
|
theme = SubResource("Theme_tlyrp")
|
||||||
|
theme_override_colors/font_color = Color(0.054902, 0.133333, 0.231373, 1)
|
||||||
|
icon = ExtResource("4_hknr6")
|
||||||
|
icon_alignment = 1
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Up" to="." method="_on_up_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Down" to="." method="_on_down_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Left" to="." method="_on_left_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Right" to="." method="_on_right_button_pressed"]
|
|
@ -0,0 +1,36 @@
|
||||||
|
extends CanvasLayer
|
||||||
|
|
||||||
|
signal start_game
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
$Score.hide()
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _on_start_pressed():
|
||||||
|
$Score.show()
|
||||||
|
$Start.hide()
|
||||||
|
$Message.hide()
|
||||||
|
start_game.emit()
|
||||||
|
|
||||||
|
func show_game_over(score):
|
||||||
|
$Message.text = "Game Over"
|
||||||
|
$ScoreEnd.text = str(score)
|
||||||
|
$Message.show()
|
||||||
|
$MessageTimer.start()
|
||||||
|
$Score.hide()
|
||||||
|
# Wait until the MessageTimer has counted down.
|
||||||
|
await $MessageTimer.timeout
|
||||||
|
|
||||||
|
$ScoreEnd.hide()
|
||||||
|
$Message.text = "Press start"
|
||||||
|
$Message.show()
|
||||||
|
# Make a one-shot timer and wait for it to finish.
|
||||||
|
await get_tree().create_timer(1.0).timeout
|
||||||
|
$Start.show()
|
||||||
|
|
||||||
|
func update_score(score):
|
||||||
|
$Score.text = str(score)
|
||||||
|
pass
|
|
@ -0,0 +1,76 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://blbvg25ql261k"]
|
||||||
|
|
||||||
|
[ext_resource type="FontFile" uid="uid://dt0gtb0q5ix4g" path="res://assets/font/Xolonium-Regular.ttf" id="1_ks4ve"]
|
||||||
|
[ext_resource type="Script" path="res://hud.gd" id="1_ydcub"]
|
||||||
|
|
||||||
|
[sub_resource type="InputEventAction" id="InputEventAction_8wpai"]
|
||||||
|
action = &"start_game"
|
||||||
|
|
||||||
|
[sub_resource type="Shortcut" id="Shortcut_ben7t"]
|
||||||
|
events = [SubResource("InputEventAction_8wpai")]
|
||||||
|
|
||||||
|
[node name="HUD" type="CanvasLayer"]
|
||||||
|
script = ExtResource("1_ydcub")
|
||||||
|
|
||||||
|
[node name="Score" type="Label" parent="."]
|
||||||
|
anchors_preset = 1
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
offset_left = -95.0
|
||||||
|
offset_top = 30.0
|
||||||
|
offset_right = -31.0
|
||||||
|
offset_bottom = 108.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
theme_override_fonts/font = ExtResource("1_ks4ve")
|
||||||
|
theme_override_font_sizes/font_size = 64
|
||||||
|
text = "0"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Start" type="Button" parent="."]
|
||||||
|
anchors_preset = 7
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -150.0
|
||||||
|
offset_top = -262.0
|
||||||
|
offset_right = 150.0
|
||||||
|
offset_bottom = -62.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
theme_override_fonts/font = ExtResource("1_ks4ve")
|
||||||
|
theme_override_font_sizes/font_size = 64
|
||||||
|
shortcut = SubResource("Shortcut_ben7t")
|
||||||
|
text = "Start"
|
||||||
|
|
||||||
|
[node name="Message" type="Label" parent="."]
|
||||||
|
offset_left = 71.0
|
||||||
|
offset_top = 222.0
|
||||||
|
offset_right = 418.0
|
||||||
|
offset_bottom = 381.0
|
||||||
|
theme_override_fonts/font = ExtResource("1_ks4ve")
|
||||||
|
theme_override_font_sizes/font_size = 64
|
||||||
|
text = "Press start"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
autowrap_mode = 2
|
||||||
|
|
||||||
|
[node name="ScoreEnd" type="Label" parent="."]
|
||||||
|
anchors_preset = 5
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
offset_left = -192.5
|
||||||
|
offset_top = 111.0
|
||||||
|
offset_right = 192.5
|
||||||
|
offset_bottom = 199.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
theme_override_fonts/font = ExtResource("1_ks4ve")
|
||||||
|
theme_override_font_sizes/font_size = 64
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="MessageTimer" type="Timer" parent="."]
|
||||||
|
wait_time = 2.0
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Start" to="." method="_on_start_pressed"]
|
|
@ -0,0 +1 @@
|
||||||
|
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z" fill="#478cbf"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
|
After Width: | Height: | Size: 949 B |
|
@ -0,0 +1,37 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bxfnqa03qp53c"
|
||||||
|
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
|
@ -0,0 +1,58 @@
|
||||||
|
[gd_scene load_steps=8 format=3 uid="uid://duxyrrga1kx8w"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dkhc3cs7opwpr" path="res://assets/bg.webp" id="1_2rn0s"]
|
||||||
|
[ext_resource type="Script" path="res://main.gd" id="1_p0ub8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ds7l3fhbhb4t6" path="res://controles.tscn" id="3_65kl8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://blbvg25ql261k" path="res://hud.tscn" id="4_y2q7v"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dcv3c8wyqyypr" path="res://mob.tscn" id="5_vcyp5"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://u4cljlml0btf" path="res://player.tscn" id="6_8s18m"]
|
||||||
|
|
||||||
|
[sub_resource type="Curve2D" id="Curve2D_sxben"]
|
||||||
|
_data = {
|
||||||
|
"points": PackedVector2Array(0, 0, 0, 0, 478, -4.19617e-05, 0, 0, 0, 0, 478, 7.99996, 0, 0, 0, 0, -2, 8, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 478, -4.19617e-05)
|
||||||
|
}
|
||||||
|
point_count = 5
|
||||||
|
|
||||||
|
[node name="Main" type="Node"]
|
||||||
|
script = ExtResource("1_p0ub8")
|
||||||
|
mob_scene = ExtResource("5_vcyp5")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = ExtResource("1_2rn0s")
|
||||||
|
|
||||||
|
[node name="Controles" parent="." instance=ExtResource("3_65kl8")]
|
||||||
|
|
||||||
|
[node name="HUD" parent="." instance=ExtResource("4_y2q7v")]
|
||||||
|
|
||||||
|
[node name="Mob" parent="." instance=ExtResource("5_vcyp5")]
|
||||||
|
position = Vector2(256, 48)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
|
||||||
|
[node name="MobPath" type="Path2D" parent="."]
|
||||||
|
position = Vector2(426.471, 8)
|
||||||
|
rotation = 3.14159
|
||||||
|
scale = Vector2(0.778292, 1)
|
||||||
|
curve = SubResource("Curve2D_sxben")
|
||||||
|
|
||||||
|
[node name="MobSpawn" type="PathFollow2D" parent="MobPath"]
|
||||||
|
position = Vector2(478, -4.19617e-05)
|
||||||
|
rotation = 1.5708
|
||||||
|
|
||||||
|
[node name="MobTimer" type="Timer" parent="."]
|
||||||
|
wait_time = 3.0
|
||||||
|
|
||||||
|
[node name="StartTimer" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("6_8s18m")]
|
||||||
|
|
||||||
|
[connection signal="start_game" from="HUD" to="." method="new_game"]
|
||||||
|
[connection signal="body_exited" from="Mob" to="." method="game_over"]
|
||||||
|
[connection signal="timeout" from="MobTimer" to="." method="_on_mob_timer_timeout"]
|
||||||
|
[connection signal="timeout" from="StartTimer" to="." method="_on_start_timer_timeout"]
|
||||||
|
[connection signal="hit" from="Player" to="." method="game_over"]
|
|
@ -0,0 +1,58 @@
|
||||||
|
[gd_scene load_steps=8 format=3 uid="uid://duxyrrga1kx8w"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dkhc3cs7opwpr" path="res://assets/bg.webp" id="1_2rn0s"]
|
||||||
|
[ext_resource type="Script" path="res://main.gd" id="1_p0ub8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ds7l3fhbhb4t6" path="res://controles.tscn" id="3_65kl8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://blbvg25ql261k" path="res://hud.tscn" id="4_y2q7v"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dcv3c8wyqyypr" path="res://mob.tscn" id="5_vcyp5"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://u4cljlml0btf" path="res://player.tscn" id="6_8s18m"]
|
||||||
|
|
||||||
|
[sub_resource type="Curve2D" id="Curve2D_sxben"]
|
||||||
|
_data = {
|
||||||
|
"points": PackedVector2Array(0, 0, 0, 0, 478, -4.19617e-05, 0, 0, 0, 0, 478, 7.99996, 0, 0, 0, 0, -2, 8, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 478, -4.19617e-05)
|
||||||
|
}
|
||||||
|
point_count = 5
|
||||||
|
|
||||||
|
[node name="Main" type="Node"]
|
||||||
|
script = ExtResource("1_p0ub8")
|
||||||
|
mob_scene = ExtResource("5_vcyp5")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = ExtResource("1_2rn0s")
|
||||||
|
|
||||||
|
[node name="Controles" parent="." instance=ExtResource("3_65kl8")]
|
||||||
|
|
||||||
|
[node name="HUD" parent="." instance=ExtResource("4_y2q7v")]
|
||||||
|
|
||||||
|
[node name="Mob" parent="." instance=ExtResource("5_vcyp5")]
|
||||||
|
position = Vector2(256, 48)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
|
||||||
|
[node name="MobPath" type="Path2D" parent="."]
|
||||||
|
position = Vector2(426.471, 8)
|
||||||
|
rotation = 3.14159
|
||||||
|
scale = Vector2(0.778292, 1)
|
||||||
|
curve = SubResource("Curve2D_sxben")
|
||||||
|
|
||||||
|
[node name="MobSpawn" type="PathFollow2D" parent="MobPath"]
|
||||||
|
position = Vector2(478, -4.19617e-05)
|
||||||
|
rotation = 1.5708
|
||||||
|
|
||||||
|
[node name="MobTimer" type="Timer" parent="."]
|
||||||
|
wait_time = 3.0
|
||||||
|
|
||||||
|
[node name="StartTimer" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("6_8s18m")]
|
||||||
|
|
||||||
|
[connection signal="start_game" from="HUD" to="." method="new_game"]
|
||||||
|
[connection signal="body_exited" from="Mob" to="." method="game_over"]
|
||||||
|
[connection signal="timeout" from="MobTimer" to="." method="_on_mob_timer_timeout"]
|
||||||
|
[connection signal="timeout" from="StartTimer" to="." method="_on_start_timer_timeout"]
|
||||||
|
[connection signal="hit" from="Player" to="." method="game_over"]
|
|
@ -0,0 +1,58 @@
|
||||||
|
[gd_scene load_steps=8 format=3 uid="uid://duxyrrga1kx8w"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dkhc3cs7opwpr" path="res://assets/bg.webp" id="1_2rn0s"]
|
||||||
|
[ext_resource type="Script" path="res://main.gd" id="1_p0ub8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ds7l3fhbhb4t6" path="res://controles.tscn" id="3_65kl8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://blbvg25ql261k" path="res://hud.tscn" id="4_y2q7v"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dcv3c8wyqyypr" path="res://mob.tscn" id="5_vcyp5"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://u4cljlml0btf" path="res://player.tscn" id="6_8s18m"]
|
||||||
|
|
||||||
|
[sub_resource type="Curve2D" id="Curve2D_sxben"]
|
||||||
|
_data = {
|
||||||
|
"points": PackedVector2Array(0, 0, 0, 0, 478, -4.19617e-05, 0, 0, 0, 0, 478, 7.99996, 0, 0, 0, 0, -2, 8, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 478, -4.19617e-05)
|
||||||
|
}
|
||||||
|
point_count = 5
|
||||||
|
|
||||||
|
[node name="Main" type="Node"]
|
||||||
|
script = ExtResource("1_p0ub8")
|
||||||
|
mob_scene = ExtResource("5_vcyp5")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = ExtResource("1_2rn0s")
|
||||||
|
|
||||||
|
[node name="Controles" parent="." instance=ExtResource("3_65kl8")]
|
||||||
|
|
||||||
|
[node name="HUD" parent="." instance=ExtResource("4_y2q7v")]
|
||||||
|
|
||||||
|
[node name="Mob" parent="." instance=ExtResource("5_vcyp5")]
|
||||||
|
position = Vector2(256, 48)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
|
||||||
|
[node name="MobPath" type="Path2D" parent="."]
|
||||||
|
position = Vector2(426.471, 8)
|
||||||
|
rotation = 3.14159
|
||||||
|
scale = Vector2(0.778292, 1)
|
||||||
|
curve = SubResource("Curve2D_sxben")
|
||||||
|
|
||||||
|
[node name="MobSpawn" type="PathFollow2D" parent="MobPath"]
|
||||||
|
position = Vector2(478, -4.19617e-05)
|
||||||
|
rotation = 1.5708
|
||||||
|
|
||||||
|
[node name="MobTimer" type="Timer" parent="."]
|
||||||
|
wait_time = 3.0
|
||||||
|
|
||||||
|
[node name="StartTimer" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("6_8s18m")]
|
||||||
|
|
||||||
|
[connection signal="start_game" from="HUD" to="." method="new_game"]
|
||||||
|
[connection signal="body_exited" from="Mob" to="." method="game_over"]
|
||||||
|
[connection signal="timeout" from="MobTimer" to="." method="_on_mob_timer_timeout"]
|
||||||
|
[connection signal="timeout" from="StartTimer" to="." method="_on_start_timer_timeout"]
|
||||||
|
[connection signal="hit" from="Player" to="." method="game_over"]
|
|
@ -0,0 +1,58 @@
|
||||||
|
[gd_scene load_steps=8 format=3 uid="uid://duxyrrga1kx8w"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dkhc3cs7opwpr" path="res://assets/bg.webp" id="1_2rn0s"]
|
||||||
|
[ext_resource type="Script" path="res://main.gd" id="1_p0ub8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ds7l3fhbhb4t6" path="res://controles.tscn" id="3_65kl8"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://blbvg25ql261k" path="res://hud.tscn" id="4_y2q7v"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dcv3c8wyqyypr" path="res://mob.tscn" id="5_vcyp5"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://u4cljlml0btf" path="res://player.tscn" id="6_8s18m"]
|
||||||
|
|
||||||
|
[sub_resource type="Curve2D" id="Curve2D_sxben"]
|
||||||
|
_data = {
|
||||||
|
"points": PackedVector2Array(0, 0, 0, 0, 478, -4.19617e-05, 0, 0, 0, 0, 478, 7.99996, 0, 0, 0, 0, -2, 8, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 478, -4.19617e-05)
|
||||||
|
}
|
||||||
|
point_count = 5
|
||||||
|
|
||||||
|
[node name="Main" type="Node"]
|
||||||
|
script = ExtResource("1_p0ub8")
|
||||||
|
mob_scene = ExtResource("5_vcyp5")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = ExtResource("1_2rn0s")
|
||||||
|
|
||||||
|
[node name="Controles" parent="." instance=ExtResource("3_65kl8")]
|
||||||
|
|
||||||
|
[node name="HUD" parent="." instance=ExtResource("4_y2q7v")]
|
||||||
|
|
||||||
|
[node name="Mob" parent="." instance=ExtResource("5_vcyp5")]
|
||||||
|
position = Vector2(256, 48)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
|
||||||
|
[node name="MobPath" type="Path2D" parent="."]
|
||||||
|
position = Vector2(426.471, 8)
|
||||||
|
rotation = 3.14159
|
||||||
|
scale = Vector2(0.778292, 1)
|
||||||
|
curve = SubResource("Curve2D_sxben")
|
||||||
|
|
||||||
|
[node name="MobSpawn" type="PathFollow2D" parent="MobPath"]
|
||||||
|
position = Vector2(478, -4.19617e-05)
|
||||||
|
rotation = 1.5708
|
||||||
|
|
||||||
|
[node name="MobTimer" type="Timer" parent="."]
|
||||||
|
wait_time = 3.0
|
||||||
|
|
||||||
|
[node name="StartTimer" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("6_8s18m")]
|
||||||
|
|
||||||
|
[connection signal="start_game" from="HUD" to="." method="new_game"]
|
||||||
|
[connection signal="body_exited" from="Mob" to="." method="game_over"]
|
||||||
|
[connection signal="timeout" from="MobTimer" to="." method="_on_mob_timer_timeout"]
|
||||||
|
[connection signal="timeout" from="StartTimer" to="." method="_on_start_timer_timeout"]
|
||||||
|
[connection signal="hit" from="Player" to="." method="game_over"]
|
|
@ -0,0 +1,98 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
@export var mob_scene: PackedScene
|
||||||
|
|
||||||
|
var score = 0
|
||||||
|
var min = 1.0
|
||||||
|
var max = 6.0
|
||||||
|
var count = 0.0
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
get_tree().call_group("Mob", "queue_free")
|
||||||
|
$Controles._hide()
|
||||||
|
$Controles/Up.pressed.connect(_on_pressed.bind($Controles/Up))
|
||||||
|
$Controles/Down.pressed.connect(_on_pressed.bind($Controles/Down))
|
||||||
|
$Controles/Left.pressed.connect(_on_pressed.bind($Controles/Left))
|
||||||
|
$Controles/Right.pressed.connect(_on_pressed.bind($Controles/Right))
|
||||||
|
|
||||||
|
func _on_pressed(button):
|
||||||
|
if (button.name == "Up" || Input.is_action_pressed("up")):
|
||||||
|
kill("up")
|
||||||
|
elif (button.name == "Down" || Input.is_action_pressed("down")):
|
||||||
|
kill("down")
|
||||||
|
elif (button.name == "Left" || Input.is_action_pressed("left")):
|
||||||
|
kill("left")
|
||||||
|
elif (button.name == "Right" || Input.is_action_pressed("right")):
|
||||||
|
kill("right")
|
||||||
|
else:
|
||||||
|
print(button.name, " is undefined")
|
||||||
|
|
||||||
|
func kill(name):
|
||||||
|
|
||||||
|
if $Mob == null:
|
||||||
|
print("mob non généré")
|
||||||
|
else :
|
||||||
|
if $Mob/AnimatedSprite2D.get_animation() == "up" && name == "up":
|
||||||
|
$Mob.queue_free()
|
||||||
|
score += 1
|
||||||
|
elif $Mob/AnimatedSprite2D.get_animation() == "down" && name == "down":
|
||||||
|
$Mob.queue_free()
|
||||||
|
score += 1
|
||||||
|
elif $Mob/AnimatedSprite2D.get_animation() == "left" && name == "left":
|
||||||
|
$Mob.queue_free()
|
||||||
|
score += 1
|
||||||
|
elif $Mob/AnimatedSprite2D.get_animation() == "right" && name == "right":
|
||||||
|
$Mob.queue_free()
|
||||||
|
score += 1
|
||||||
|
$HUD.update_score(score)
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func game_over():
|
||||||
|
$Music.stop()
|
||||||
|
$MobTimer.stop()
|
||||||
|
$HUD.show_game_over(score)
|
||||||
|
$Controles._hide()
|
||||||
|
$DeathSound.play()
|
||||||
|
get_tree().call_group("Mob", "queue_free")
|
||||||
|
|
||||||
|
func new_game():
|
||||||
|
score = 0
|
||||||
|
$Music.play()
|
||||||
|
$StartTimer.start()
|
||||||
|
$HUD.update_score(score)
|
||||||
|
$Controles._show()
|
||||||
|
get_tree().call_group("Mob", "queue_free")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mob_timer_timeout():
|
||||||
|
# Create a new instance of the Mob scene.
|
||||||
|
var mob = mob_scene.instantiate()
|
||||||
|
|
||||||
|
# Choose a random location on Path2D.
|
||||||
|
var mob_spawn_location = $MobPath/MobSpawn
|
||||||
|
mob_spawn_location.progress_ratio = randf()
|
||||||
|
|
||||||
|
# Set the mob's position to a random location.
|
||||||
|
mob.position = mob_spawn_location.position
|
||||||
|
|
||||||
|
# Choose the velocity for the mob.
|
||||||
|
var velocity = Vector2(0.0, randf_range(min + count, max + count))
|
||||||
|
mob.linear_velocity = velocity
|
||||||
|
count += 10.0
|
||||||
|
mob.lock_rotation = true
|
||||||
|
mob.angular_velocity = 0.0
|
||||||
|
mob.angular_damp = 0.0
|
||||||
|
get_tree().call_group("Mob", "add_gravity")
|
||||||
|
# Spawn the mob by adding it to the Main scene.
|
||||||
|
add_child(mob)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_start_timer_timeout():
|
||||||
|
$MobTimer.start()
|
||||||
|
if $MobTimer.wait_time <= 1.0:
|
||||||
|
$MobTimer.wait_time = 1.0
|
||||||
|
else :
|
||||||
|
$MobTimer.wait_time -= 0.01
|
|
@ -0,0 +1,18 @@
|
||||||
|
extends RigidBody2D
|
||||||
|
|
||||||
|
var mob_types = ["up", "down", "left", "right"]
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
var mob_type = mob_types[randi() % mob_types.size()]
|
||||||
|
$AnimatedSprite2D.play(mob_type)
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _on_visible_on_screen_notifier_2d_screen_exited():
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
func add_gravity():
|
||||||
|
gravity_scale += 0.1
|
||||||
|
mass += 0.1
|
|
@ -0,0 +1,61 @@
|
||||||
|
[gd_scene load_steps=8 format=3 uid="uid://dcv3c8wyqyypr"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://byhscsj8m2fsd" path="res://assets/arrow_up.png" id="1_udfpr"]
|
||||||
|
[ext_resource type="Script" path="res://mob.gd" id="1_v7kd7"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cdyqgw8q4ixfm" path="res://assets/arrow_down.png" id="2_6f2og"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://br0of4r3mfawy" path="res://assets/arrow_left.png" id="3_3kqih"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ndanhgshr8ah" path="res://assets/arrow_right.png" id="4_4b2dt"]
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_krbdm"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("2_6f2og")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"down",
|
||||||
|
"speed": 1.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("3_3kqih")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"left",
|
||||||
|
"speed": 1.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("4_4b2dt")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"right",
|
||||||
|
"speed": 1.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("1_udfpr")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"up",
|
||||||
|
"speed": 1.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mxsp1"]
|
||||||
|
size = Vector2(141, 147)
|
||||||
|
|
||||||
|
[node name="Mob" type="RigidBody2D" groups=["Mob"]]
|
||||||
|
gravity_scale = 0.3
|
||||||
|
script = ExtResource("1_v7kd7")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." groups=["Mob"]]
|
||||||
|
scale = Vector2(5, 5)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_krbdm")
|
||||||
|
animation = &"up"
|
||||||
|
|
||||||
|
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="." groups=["Mob"]]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." groups=["Mob"]]
|
||||||
|
shape = SubResource("RectangleShape2D_mxsp1")
|
||||||
|
|
||||||
|
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"]
|
|
@ -0,0 +1,15 @@
|
||||||
|
extends Area2D
|
||||||
|
signal hit
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _on_body_entered(body):
|
||||||
|
hit.emit()
|
|
@ -0,0 +1,15 @@
|
||||||
|
[gd_scene load_steps=3 format=3 uid="uid://u4cljlml0btf"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://player.gd" id="1_pbup1"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dcvb5"]
|
||||||
|
size = Vector2(483.5, 24)
|
||||||
|
|
||||||
|
[node name="Player" type="Area2D"]
|
||||||
|
script = ExtResource("1_pbup1")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(238.25, 396)
|
||||||
|
shape = SubResource("RectangleShape2D_dcvb5")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
|
@ -0,0 +1,60 @@
|
||||||
|
; Engine configuration file.
|
||||||
|
; It's best edited using the editor UI and not directly,
|
||||||
|
; since the parameters that go here are not all obvious.
|
||||||
|
;
|
||||||
|
; Format:
|
||||||
|
; [section] ; section goes between []
|
||||||
|
; param=value ; assign values to parameters
|
||||||
|
|
||||||
|
config_version=5
|
||||||
|
|
||||||
|
[application]
|
||||||
|
|
||||||
|
config/name="CheatCode"
|
||||||
|
run/main_scene="res://main.tscn"
|
||||||
|
config/features=PackedStringArray("4.2", "Mobile")
|
||||||
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/size/viewport_width=480
|
||||||
|
window/size/viewport_height=720
|
||||||
|
window/stretch/mode="canvas_items"
|
||||||
|
window/handheld/orientation=1
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
up={
|
||||||
|
"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":4194320,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
, 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":90,"key_label":0,"unicode":119,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
down={
|
||||||
|
"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":4194322,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
, 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":83,"key_label":0,"unicode":115,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
left={
|
||||||
|
"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":4194319,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
, 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":81,"key_label":0,"unicode":97,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
right={
|
||||||
|
"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":4194321,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
, 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":68,"key_label":0,"unicode":100,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
start_game={
|
||||||
|
"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":4194309,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
renderer/rendering_method="mobile"
|
||||||
|
textures/vram_compression/import_etc2_astc=true
|