The new transition works, but stutters a bit it seems

This commit is contained in:
Delta-key 2020-07-04 17:21:29 -03:00
parent 0a5ed97c70
commit 0cb37f930b
8 changed files with 101 additions and 132 deletions

View file

@ -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_": ""
}

View file

@ -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':

View file

@ -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"]

View file

@ -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_": ""
}

View file

@ -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()

View file

@ -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
}

View file

@ -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

View file

@ -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 )