diff --git a/Scene/Clopinette.tscn b/Scene/Clopinette.tscn index 9d75f9e..b9d0453 100644 --- a/Scene/Clopinette.tscn +++ b/Scene/Clopinette.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://Placeholder.png" type="Texture" id=1] +[ext_resource path="res://Assets/Placeholder.png" type="Texture" id=1] [ext_resource path="res://Scripts/Clopinette.gd" type="Script" id=2] [node name="Clopinette" type="Node2D"] diff --git a/Scene/Player.tscn b/Scene/Player.tscn index cdf9e85..3040ff7 100644 --- a/Scene/Player.tscn +++ b/Scene/Player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=2] -[ext_resource path="res://Placeholder.png" type="Texture" id=1] +[ext_resource path="res://Assets/Placeholder.png" type="Texture" id=1] [ext_resource path="res://Scripts/Player.gd" type="Script" id=2] [sub_resource type="RectangleShape2D" id=1] diff --git a/Scene/TestScene.tscn b/Scene/TestScene.tscn index afd1590..3859147 100644 --- a/Scene/TestScene.tscn +++ b/Scene/TestScene.tscn @@ -5,18 +5,9 @@ [node name="World" type="Node2D"] -[node name="KinematicBody2D" parent="." instance=ExtResource( 1 )] +[node name="Player1" parent="." instance=ExtResource( 1 )] position = Vector2( 121.087, 85.6409 ) -[node name="Clopinette" parent="." instance=ExtResource( 2 )] -position = Vector2( 128.363, 287.853 ) - -[node name="Clopinette2" parent="." instance=ExtResource( 2 )] -position = Vector2( 419.87, 371.785 ) - -[node name="Clopinette3" parent="." instance=ExtResource( 2 )] -position = Vector2( 364.818, 208.433 ) - [node name="Clopinette4" parent="." instance=ExtResource( 2 )] position = Vector2( 476.728, 110.06 ) - +scriptName = "res://Scripts/PaintEffects/Invisibility.gd" diff --git a/Scripts/Clopinette.gd b/Scripts/Clopinette.gd index 4b2418b..8beb3c3 100644 --- a/Scripts/Clopinette.gd +++ b/Scripts/Clopinette.gd @@ -1,16 +1,20 @@ extends Node2D -var sprite; -var area; -var collider; +var sprite +var area +var collider +var loadedScript + +export(String, FILE, "*.gd") var scriptName # Called when the node enters the scene tree for the first time. func _ready(): sprite = get_node("Sprite") area = get_node("Area2D") + loadedScript = load(scriptName) area.connect("body_entered", self, "onBodyEntered") -func onBodyEntered(body : PhysicsBody2D): +func onBodyEntered(body : PhysicsBody2D): queue_free() # Called every frame. 'delta' is the elapsed time since the previous frame. diff --git a/Scripts/PaintEffects/Invisibility.gd b/Scripts/PaintEffects/Invisibility.gd new file mode 100644 index 0000000..8767af9 --- /dev/null +++ b/Scripts/PaintEffects/Invisibility.gd @@ -0,0 +1,35 @@ +extends Node + +#The time, in seconds, it should take for the character to fade to FadeOutValue +export var FadeOutTime = 2.0 + +#The alpha value we aim for when fading out +export var FadeOutValue = 0.05 + +var coroutines = [] + +func AlmostFadeOutRoutine(player, delta): + var sprite : Sprite = get_node("Sprite") + var elapsed = delta + var origin = sprite.get_modulate().a + while sprite.get_modulate().a > FadeOutValue: + var a = lerp(origin, FadeOutValue, elapsed / FadeOutTime) + elapsed += yield() + pass + +func StartEffect(player): + var rout = AlmostFadeOutRoutine(player, 0) + coroutines.add(rout) + pass + +func FinishEffect(): + pass + +func UpdateEffect(delta): + for rout in coroutines: + if rout.is_valid(): + rout.resume(delta) + else: + coroutines.remove(rout) + pass + diff --git a/project.godot b/project.godot index 2d301e9..6c96d20 100644 --- a/project.godot +++ b/project.godot @@ -19,61 +19,6 @@ config/name="Paint Jam 2020" run/main_scene="res://Scene/TestScene.tscn" config/icon="res://icon.png" -[display] - -window/size/width=320 -window/size/height=180 -window/size/test_width=1280 -window/size/test_height=720 -window/stretch/mode="2d" -window/stretch/aspect="keep" - -[importer_defaults] - -texture={ -"compress/bptc_ldr": 0, -"compress/hdr_mode": 0, -"compress/lossy_quality": 0.7, -"compress/mode": 0, -"compress/normal_map": 0, -"detect_3d": false, -"flags/anisotropic": false, -"flags/filter": false, -"flags/mipmaps": false, -"flags/repeat": 0, -"flags/srgb": 2, -"process/HDR_as_SRGB": false, -"process/fix_alpha_border": true, -"process/invert_color": false, -"process/premult_alpha": false, -"size_limit": 0, -"stream": false, -"svg/scale": 1.0 -} - -[input] - -ui_right2={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) - ] -} -ui_left2={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":81,"unicode":0,"echo":false,"script":null) - ] -} -ui_up2={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":90,"unicode":0,"echo":false,"script":null) - ] -} -ui_down2={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) - ] -} - [rendering] quality/driver/driver_name="GLES2"