Compare commits
3 Commits
4236102803
...
a380551643
| Author | SHA1 | Date |
|---|---|---|
|
|
a380551643 | 2 years ago |
|
|
426646f4e0 | 2 years ago |
|
|
9768c389cd | 2 years ago |
|
After Width: | Height: | Size: 87 KiB |
@ -0,0 +1,34 @@ |
|||||||
|
[remap] |
||||||
|
|
||||||
|
importer="texture" |
||||||
|
type="CompressedTexture2D" |
||||||
|
uid="uid://8wee83rmjpqj" |
||||||
|
path="res://.godot/imported/water.png-817b08231a2ad4ae2410fb94c54aa35d.ctex" |
||||||
|
metadata={ |
||||||
|
"vram_texture": false |
||||||
|
} |
||||||
|
|
||||||
|
[deps] |
||||||
|
|
||||||
|
source_file="res://assets/sprites/water.png" |
||||||
|
dest_files=["res://.godot/imported/water.png-817b08231a2ad4ae2410fb94c54aa35d.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,11 @@ |
|||||||
|
extends Area2D |
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time. |
||||||
|
func _ready(): |
||||||
|
body_entered.connect(on_body_entered) |
||||||
|
|
||||||
|
func on_body_entered(body): |
||||||
|
if body.is_in_group('player'): |
||||||
|
g_game_state.checkpoint(body.global_position) |
||||||
|
queue_free() |
||||||
@ -0,0 +1,6 @@ |
|||||||
|
[gd_scene load_steps=2 format=3 uid="uid://cjuqvtp3lhsuc"] |
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://nodes/triggers/checkpoint.gd" id="1_v47vq"] |
||||||
|
|
||||||
|
[node name="checkpoint" type="Area2D"] |
||||||
|
script = ExtResource("1_v47vq") |
||||||
@ -0,0 +1,8 @@ |
|||||||
|
extends CanvasLayer |
||||||
|
|
||||||
|
@onready var animator = $animator |
||||||
|
@onready var title = $panel/title |
||||||
|
|
||||||
|
func show_message(message): |
||||||
|
title.text = message |
||||||
|
animator.play('splash') |
||||||
@ -0,0 +1,104 @@ |
|||||||
|
[gd_scene load_steps=6 format=3 uid="uid://7flwkthps8ty"] |
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://nodes/ui/ui.gd" id="1_1svns"] |
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_6cer2"] |
||||||
|
resource_name = "splash" |
||||||
|
length = 6.0 |
||||||
|
tracks/0/type = "value" |
||||||
|
tracks/0/imported = false |
||||||
|
tracks/0/enabled = true |
||||||
|
tracks/0/path = NodePath("panel:modulate") |
||||||
|
tracks/0/interp = 1 |
||||||
|
tracks/0/loop_wrap = true |
||||||
|
tracks/0/keys = { |
||||||
|
"times": PackedFloat32Array(0, 2, 4, 6), |
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1), |
||||||
|
"update": 0, |
||||||
|
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] |
||||||
|
} |
||||||
|
tracks/1/type = "value" |
||||||
|
tracks/1/imported = false |
||||||
|
tracks/1/enabled = true |
||||||
|
tracks/1/path = NodePath("panel:visible") |
||||||
|
tracks/1/interp = 1 |
||||||
|
tracks/1/loop_wrap = true |
||||||
|
tracks/1/keys = { |
||||||
|
"times": PackedFloat32Array(0, 6), |
||||||
|
"transitions": PackedFloat32Array(1, 1), |
||||||
|
"update": 1, |
||||||
|
"values": [true, false] |
||||||
|
} |
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_4v8h2"] |
||||||
|
length = 0.001 |
||||||
|
tracks/0/type = "value" |
||||||
|
tracks/0/imported = false |
||||||
|
tracks/0/enabled = true |
||||||
|
tracks/0/path = NodePath("panel:modulate") |
||||||
|
tracks/0/interp = 1 |
||||||
|
tracks/0/loop_wrap = true |
||||||
|
tracks/0/keys = { |
||||||
|
"times": PackedFloat32Array(0), |
||||||
|
"transitions": PackedFloat32Array(1), |
||||||
|
"update": 0, |
||||||
|
"values": [Color(1, 1, 1, 1)] |
||||||
|
} |
||||||
|
tracks/1/type = "value" |
||||||
|
tracks/1/imported = false |
||||||
|
tracks/1/enabled = true |
||||||
|
tracks/1/path = NodePath("panel:visible") |
||||||
|
tracks/1/interp = 1 |
||||||
|
tracks/1/loop_wrap = true |
||||||
|
tracks/1/keys = { |
||||||
|
"times": PackedFloat32Array(0), |
||||||
|
"transitions": PackedFloat32Array(1), |
||||||
|
"update": 1, |
||||||
|
"values": [true] |
||||||
|
} |
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_d41ii"] |
||||||
|
resource_name = "hide" |
||||||
|
tracks/0/type = "value" |
||||||
|
tracks/0/imported = false |
||||||
|
tracks/0/enabled = true |
||||||
|
tracks/0/path = NodePath("panel:visible") |
||||||
|
tracks/0/interp = 1 |
||||||
|
tracks/0/loop_wrap = true |
||||||
|
tracks/0/keys = { |
||||||
|
"times": PackedFloat32Array(0), |
||||||
|
"transitions": PackedFloat32Array(1), |
||||||
|
"update": 1, |
||||||
|
"values": [false] |
||||||
|
} |
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_iii80"] |
||||||
|
_data = { |
||||||
|
"RESET": SubResource("Animation_4v8h2"), |
||||||
|
"hide": SubResource("Animation_d41ii"), |
||||||
|
"splash": SubResource("Animation_6cer2") |
||||||
|
} |
||||||
|
|
||||||
|
[node name="ui" type="CanvasLayer"] |
||||||
|
script = ExtResource("1_1svns") |
||||||
|
|
||||||
|
[node name="animator" type="AnimationPlayer" parent="."] |
||||||
|
autoplay = "hide" |
||||||
|
libraries = { |
||||||
|
"": SubResource("AnimationLibrary_iii80") |
||||||
|
} |
||||||
|
|
||||||
|
[node name="panel" type="Panel" parent="."] |
||||||
|
offset_left = 64.0 |
||||||
|
offset_top = 64.0 |
||||||
|
offset_right = 1856.0 |
||||||
|
offset_bottom = 264.0 |
||||||
|
|
||||||
|
[node name="title" type="Label" parent="panel"] |
||||||
|
layout_mode = 0 |
||||||
|
offset_right = 448.0 |
||||||
|
offset_bottom = 48.0 |
||||||
|
scale = Vector2(4, 4) |
||||||
|
text = "Level 3 - Spider-Ant, Spider-ant ! " |
||||||
|
horizontal_alignment = 1 |
||||||
|
vertical_alignment = 1 |
||||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,31 @@ |
|||||||
|
extends Node2D |
||||||
|
class_name GGameState |
||||||
|
|
||||||
|
signal restore_checkpoint(level) |
||||||
|
|
||||||
|
var level_rising_height_now = 0 |
||||||
|
var level_rising_height_at_death = 0 |
||||||
|
|
||||||
|
var player_position_at_checkpoint = Vector2(0, 0) |
||||||
|
|
||||||
|
var must_restore_checkpoint = false |
||||||
|
|
||||||
|
func reset(): |
||||||
|
level_rising_height_now = 0 |
||||||
|
level_rising_height_at_death = 0 |
||||||
|
|
||||||
|
func save_level_rising_height(now): |
||||||
|
if must_restore_checkpoint: |
||||||
|
restore_checkpoint_now() |
||||||
|
must_restore_checkpoint = false |
||||||
|
else : |
||||||
|
level_rising_height_now = now |
||||||
|
|
||||||
|
func checkpoint(player_position): |
||||||
|
level_rising_height_at_death = level_rising_height_now |
||||||
|
player_position_at_checkpoint = player_position |
||||||
|
|
||||||
|
func restore_checkpoint_now(): |
||||||
|
prints('restoring with', level_rising_height_at_death) |
||||||
|
level_rising_height_now = level_rising_height_at_death |
||||||
|
emit_signal("restore_checkpoint", level_rising_height_at_death) |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
extends Button |
||||||
|
|
||||||
|
@export_file('*.tscn') var GAME_SCENE |
||||||
|
|
||||||
|
func _pressed(): |
||||||
|
get_tree().change_scene_to_file(GAME_SCENE) |
||||||
|
g_game_state.must_restore_checkpoint = true |
||||||
Loading…
Reference in new issue