diff --git a/Scenes/fgTransitionDebug.tscn b/Scenes/fgTransitionDebug.tscn index e067edd..9193945 100644 --- a/Scenes/fgTransitionDebug.tscn +++ b/Scenes/fgTransitionDebug.tscn @@ -1,6 +1,5 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=3 format=2] -[ext_resource path="res://Resources/Textures/lightCircle.png" type="Texture" id=1] [ext_resource path="res://Resources/MoreTextures/transitionTexture.png" type="Texture" id=2] [sub_resource type="CanvasItemMaterial" id=1] @@ -25,11 +24,3 @@ stretch_mode = 2 __meta__ = { "_edit_use_anchors_": false } - -[node name="light2D" type="Light2D" parent="."] -position = Vector2( 185.535, 60.8528 ) -texture = ExtResource( 1 ) -mode = 2 -__meta__ = { -"_editor_description_": "" -} diff --git a/Scenes/global.gd b/Scenes/global.gd index e6e602b..2935f56 100644 --- a/Scenes/global.gd +++ b/Scenes/global.gd @@ -1,5 +1,5 @@ extends Node - +const defaultResolution=Vector2(384,216) var player var lr=50 #Light radius var state='Stage_begin' @@ -92,9 +92,9 @@ func next_stage(): #@ Add a delay here maybe func change_stage(stage): var target=get_tree().current_scene - twn.interpolate_property(target, 'modulate:a', target.modulate.a, 0, 0.4, Tween.TRANS_QUART, Tween.EASE_IN) - twn.start() - yield(twn, "tween_completed") +# twn.interpolate_property(target, 'modulate:a', target.modulate.a, 0, 0.4, Tween.TRANS_QUART, Tween.EASE_IN) +# twn.start() +# yield(twn, "tween_completed") # var i=stage.instance() # i.add_child(stage_fadein.instance()) if stage.instance().get_node('stage/str_stagename').text=='Stage 2: Going up': diff --git a/Scenes/next_level.tscn b/Scenes/next_level.tscn index d75abd9..40f7b11 100644 --- a/Scenes/next_level.tscn +++ b/Scenes/next_level.tscn @@ -4,69 +4,38 @@ [ext_resource path="res://Resources/SFX/50561__broumbroum__sf3-sfx-menu-select.wav" type="AudioStream" id=2] [sub_resource type="GDScript" id=1] - script/source = "extends Area2D +var transitionLayer=preload(\"res://Scenes/screenTransition/transitionLayer.tscn\") onready var current_level=get_tree().current_scene.get_node('stage') export (PackedScene) var next_level=load(\"res://Scenes/debug.tscn\") func _ready(): pass func _on_next_level_body_entered(body): if(body.is_in_group('Player')): - $snd_done.play() - global.change_stage(next_level) -# body.active=false - body.anim='idle' - body.get_node('animation_player').play('idle') - body.get_node('twn_fadeout').interpolate_property(body, 'modulate:a', body.modulate.a, 0, 0.4, Tween.TRANS_QUART, Tween.EASE_IN) -# var i=next_level.instance() -# i.rect_global_position=Vector2() + #global.change_stage(next_level) + var i=transitionLayer.instance() + i.nextLevel=self.next_level + get_tree().root.add_child(i) -## get_tree().change_scene_to(next_level) -## get_tree().current_scene.get_node('stage').queue_free() -# -# var i=next_level.instance() -# i.rect_global_position=Vector2() -# -## get_tree().current_scene.add_child(i) -# -# get_tree().current_scene.add_child_below_node(get_tree().current_scene.get_node('pause_manager'),i) -# get_parent().go_out()" + $snd_done.play() +# body.anim='idle' +# body.get_node('animation_player').play('idle') +# body.get_node('twn_fadeout').interpolate_property(body, 'modulate:a', body.modulate.a, 0, 0.4, Tween.TRANS_QUART, Tween.EASE_IN) +" [sub_resource type="RectangleShape2D" id=2] - -custom_solver_bias = 0.0 extents = Vector2( 9, 10 ) [node name="next_level" type="Area2D"] - -input_pickable = true -gravity_vec = Vector2( 0, 1 ) -gravity = 98.0 -linear_damp = 0.1 -angular_damp = 1.0 -audio_bus_override = false -audio_bus_name = "Master" script = SubResource( 1 ) -_sections_unfolded = [ "Transform" ] -next_level = null - -[node name="icon" type="Sprite" parent="." index="0"] +[node name="icon" type="Sprite" parent="."] position = Vector2( 0, -2 ) texture = ExtResource( 1 ) -_sections_unfolded = [ "Material", "Transform" ] - -[node name="collision_shape_2d" type="CollisionShape2D" parent="." index="1"] +[node name="collision_shape_2d" type="CollisionShape2D" parent="."] shape = SubResource( 2 ) -[node name="snd_done" type="AudioStreamPlayer" parent="." index="2"] - +[node name="snd_done" type="AudioStreamPlayer" parent="."] stream = ExtResource( 2 ) -volume_db = 0.0 -autoplay = false -mix_target = 0 bus = "sfx" - [connection signal="body_entered" from="." to="." method="_on_next_level_body_entered"] - - diff --git a/Scenes/screenTransition/light2DforMasking.tscn b/Scenes/screenTransition/light2DforMasking.tscn new file mode 100644 index 0000000..cebb6c9 --- /dev/null +++ b/Scenes/screenTransition/light2DforMasking.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Resources/Textures/lightCircle.png" type="Texture" id=1] + +[node name="light2D" type="Light2D"] +position = Vector2( 74.7474, 52.4499 ) +texture = ExtResource( 1 ) +mode = 2 +range_layer_max = 1 +__meta__ = { +"_editor_description_": "" +} diff --git a/Scenes/screenTransition/transitionLayer.gd b/Scenes/screenTransition/transitionLayer.gd new file mode 100644 index 0000000..fe6d5d4 --- /dev/null +++ b/Scenes/screenTransition/transitionLayer.gd @@ -0,0 +1,33 @@ +extends CanvasLayer +const duration=0.5 +const delay=0.02 +const maximumLightMaskSize=0.25 +const lightMaskSpacing=32 +var lightMask=preload("res://Scenes/screenTransition/light2DforMasking.tscn") +var deleteNext=false +var nextLevel=PackedScene +func _ready(): + $twnGrow.connect("tween_all_completed",self,"tweenEnded") + for i in range(0,global.defaultResolution.x+lightMaskSpacing*0.1,lightMaskSpacing): + for j in range(0,global.defaultResolution.y+lightMaskSpacing*0.3,lightMaskSpacing): + createLight(i,j) + +func createLight(x,y): + var i=lightMask.instance() + i.global_position=Vector2(x,y) + i.texture_scale=0 + $twnGrow.interpolate_property(i,"texture_scale",i.texture_scale,maximumLightMaskSize,duration,Tween.TRANS_QUINT,Tween.EASE_OUT,delay*2*(x+y)/lightMaskSpacing) + $twnGrow.start() + $lights.add_child(i) + +func tweenEnded(): + if not deleteNext: + global.change_stage(nextLevel) + deleteNext=true + for node in $lights.get_children(): + var x=node.global_position.x + var y=node.global_position.y + $twnGrow.interpolate_property(node,"texture_scale",node.texture_scale,0,duration,Tween.TRANS_QUINT,Tween.EASE_OUT,delay*2*(x+y)/lightMaskSpacing) + $twnGrow.start() + else: + self.queue_free() diff --git a/Scenes/screenTransition/transitionLayer.tscn b/Scenes/screenTransition/transitionLayer.tscn new file mode 100644 index 0000000..bdb25ce --- /dev/null +++ b/Scenes/screenTransition/transitionLayer.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Resources/MoreTextures/transitionTexture.png" type="Texture" id=1] +[ext_resource path="res://Scenes/screenTransition/transitionLayer.gd" type="Script" id=2] + +[sub_resource type="CanvasItemMaterial" id=1] +light_mode = 2 + +[node name="transitionLayer" type="CanvasLayer"] +layer = 0 +script = ExtResource( 2 ) + +[node name="twnGrow" type="Tween" parent="."] + +[node name="lights" type="Node2D" parent="."] + +[node name="textureRect" type="TextureRect" parent="."] +material = SubResource( 1 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 1 ) +expand = true +stretch_mode = 2 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/Scenes/stages/0.tscn b/Scenes/stages/0.tscn index 8145f00..dfb8aeb 100644 --- a/Scenes/stages/0.tscn +++ b/Scenes/stages/0.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=19 format=2] +[gd_scene load_steps=16 format=2] [ext_resource path="res://Scenes/bg_layer.tscn" type="PackedScene" id=1] [ext_resource path="res://Scenes/twn_stagefadein.tscn" type="PackedScene" id=2] @@ -11,12 +11,7 @@ [ext_resource path="res://Scenes/str_stagename.tscn" type="PackedScene" id=9] [ext_resource path="res://Scenes/grass.tscn" type="PackedScene" id=10] [ext_resource path="res://Scenes/vine.tscn" type="PackedScene" id=11] -[ext_resource path="res://Resources/Textures/lightCircle.png" type="Texture" id=12] [ext_resource path="res://Resources/SFX/Laser_shoot 6.wav" type="AudioStream" id=13] -[ext_resource path="res://Resources/MoreTextures/transitionTexture.png" type="Texture" id=14] - -[sub_resource type="CanvasItemMaterial" id=1] -light_mode = 2 [sub_resource type="GDScript" id=4] script/source = "extends TileMap @@ -68,57 +63,7 @@ func _ready(): [node name="twn_stagefadein" parent="." instance=ExtResource( 2 )] -[node name="transitionLayer" type="CanvasLayer" parent="."] -layer = 10 - -[node name="fgTransition" type="Control" parent="transitionLayer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="textureRect2" type="TextureRect" parent="transitionLayer/fgTransition"] -visible = false -anchor_right = 1.0 -anchor_bottom = 1.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -texture = ExtResource( 14 ) -expand = true -stretch_mode = 2 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="textureRect" type="TextureRect" parent="transitionLayer/fgTransition"] -material = SubResource( 1 ) -anchor_right = 1.0 -anchor_bottom = 1.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -texture = ExtResource( 14 ) -expand = true -stretch_mode = 2 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="sprite" type="Sprite" parent="transitionLayer/fgTransition"] -material = SubResource( 1 ) -texture = ExtResource( 14 ) -centered = false - -[node name="light2D" type="Light2D" parent="transitionLayer/fgTransition"] -position = Vector2( 214.033, 136.904 ) -texture = ExtResource( 12 ) -mode = 2 -__meta__ = { -"_editor_description_": "" -} - [node name="stage" type="Control" parent="."] -visible = false margin_right = 40.0 margin_bottom = 40.0 diff --git a/Scenes/twn_stagefadein.tscn b/Scenes/twn_stagefadein.tscn index e2e67c9..756269e 100644 --- a/Scenes/twn_stagefadein.tscn +++ b/Scenes/twn_stagefadein.tscn @@ -1,28 +1,19 @@ [gd_scene load_steps=2 format=2] [sub_resource type="GDScript" id=1] - resource_name = "twn_fadein" script/source = "extends Tween func _ready(): - print('Fadein tween: Starting alpha tween...') - get_parent().modulate.a=0 - self.interpolate_property(get_parent(), 'modulate:a', 0, 1, 1.5, Tween.TRANS_QUART, Tween.EASE_OUT) - self.start() - yield(self, \"tween_completed\") - print('Fadein tween: Alpha tween finished. Deleting self, bai!') - self.queue_free()" -_sections_unfolded = [ "Resource" ] + return +# print('Fadein tween: Starting alpha tween...') +# get_parent().modulate.a=0 +# self.interpolate_property(get_parent(), 'modulate:a', 0, 1, 1.5, Tween.TRANS_QUART, Tween.EASE_OUT) +# self.start() +# yield(self, \"tween_completed\") +# print('Fadein tween: Alpha tween finished. Deleting self, bai!') +# self.queue_free() +" [node name="twn_stagefadein" type="Tween"] - -repeat = false -playback_process_mode = 1 -playback_speed = 1.0 -playback/active = false -playback/repeat = false -playback/speed = 1.0 script = SubResource( 1 ) - -