Mdr le jeu il fonctionne plus de la même façon
This commit is contained in:
parent
ca1b21e95e
commit
b54e6d0233
@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=29 format=2]
|
||||
[gd_scene load_steps=30 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/spriteset test.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Scripts/Player.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Assets/zétoile.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Sounds/PaintJamPickupSound.wav" type="AudioStream" id=4]
|
||||
[ext_resource path="res://Assets/Patain.png" type="Texture" id=5]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 15.5015, 46.849 )
|
||||
@ -243,7 +244,7 @@ parameters/Idle/blend_position = Vector2( -1.1, 0.0314158 )
|
||||
parameters/Run/blend_position = Vector2( -0.0925897, 0.517895 )
|
||||
|
||||
[node name="ConfusionStars" type="Node2D" parent="."]
|
||||
scale = Vector2( 10, 10 )
|
||||
visible = false
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="ConfusionStars"]
|
||||
position = Vector2( -19.4617, -21.2425 )
|
||||
@ -275,5 +276,39 @@ scale = Vector2( 1.1136, 1.2906 )
|
||||
z_index = -1
|
||||
texture = ExtResource( 3 )
|
||||
|
||||
[node name="Patins" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="Patins"]
|
||||
position = Vector2( -19.4617, -21.2425 )
|
||||
scale = Vector2( 0.731191, 0.591658 )
|
||||
curve = SubResource( 24 )
|
||||
|
||||
[node name="PathFollow2D" type="PathFollow2D" parent="Patins/Path2D"]
|
||||
position = Vector2( 42.3056, -54.7672 )
|
||||
rotation = 0.639347
|
||||
offset = 68.39
|
||||
rotate = false
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Patins/Path2D/PathFollow2D"]
|
||||
position = Vector2( 0.823479, -2.89215 )
|
||||
rotation = -0.639347
|
||||
scale = Vector2( 1.1136, 1.2906 )
|
||||
z_index = -1
|
||||
texture = ExtResource( 5 )
|
||||
|
||||
[node name="PathFollow2D2" type="PathFollow2D" parent="Patins/Path2D"]
|
||||
position = Vector2( 3.62132, -97.5903 )
|
||||
rotation = 0.639347
|
||||
offset = 203.97
|
||||
rotate = false
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Patins/Path2D/PathFollow2D2"]
|
||||
position = Vector2( 0.823479, -2.89215 )
|
||||
rotation = -0.639347
|
||||
scale = Vector2( 1.1136, 1.2906 )
|
||||
z_index = -1
|
||||
texture = ExtResource( 5 )
|
||||
|
||||
[node name="PickupPlayer" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource( 4 )
|
||||
|
@ -25,10 +25,8 @@ margin_bottom = -5.0
|
||||
] instance=ExtResource( 1 )]
|
||||
position = Vector2( 317.194, 221.462 )
|
||||
|
||||
[node name="Player2" parent="." groups=[
|
||||
"player",
|
||||
] instance=ExtResource( 1 )]
|
||||
position = Vector2( 1593.81, 209.193 )
|
||||
[node name="Player2" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 1338.97, 220.441 )
|
||||
|
||||
[node name="CanvasLayer" parent="." instance=ExtResource( 4 )]
|
||||
|
||||
@ -55,9 +53,178 @@ position = Vector2( 1659.71, 594.146 )
|
||||
position = Vector2( 340.904, 670.119 )
|
||||
|
||||
[node name="Clopinette" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 265.689, 415.412 )
|
||||
scriptName = "res://Scripts/PaintEffects/Upscale.gd"
|
||||
position = Vector2( 201.25, 408.252 )
|
||||
scriptName = "res://Scripts/PaintEffects/Invisibility.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Invisible"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette3" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 201.25, 533.362 )
|
||||
scriptName = "res://Scripts/PaintEffects/Invisibility.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette3"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Invisible"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette5" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 201.25, 635.861 )
|
||||
scriptName = "res://Scripts/PaintEffects/Invisibility.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette5"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Invisible"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette6" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 202.757, 735.346 )
|
||||
scriptName = "res://Scripts/PaintEffects/Invisibility.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette6"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Invisible"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette2" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 259.961, 538.562 )
|
||||
position = Vector2( 1454.23, 429.732 )
|
||||
scriptName = "res://Scripts/PaintEffects/Upscale.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette2"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Gigantisme"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette10" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 1455.74, 509.621 )
|
||||
scriptName = "res://Scripts/PaintEffects/Upscale.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette10"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Gigantisme"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette11" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 1460.26, 589.511 )
|
||||
scriptName = "res://Scripts/PaintEffects/Upscale.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette11"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Gigantisme"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette12" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 1464.78, 675.429 )
|
||||
scriptName = "res://Scripts/PaintEffects/Upscale.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette12"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Gigantisme"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette4" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 733.945, 418.276 )
|
||||
scriptName = "res://Scripts/PaintEffects/Slippery.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette4"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Patinage"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette7" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 736.96, 525.298 )
|
||||
scriptName = "res://Scripts/PaintEffects/Slippery.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette7"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Patinage"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette8" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 742.99, 638.348 )
|
||||
scriptName = "res://Scripts/PaintEffects/Slippery.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette8"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Patinage"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Clopinette9" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 746.004, 716.73 )
|
||||
scriptName = "res://Scripts/PaintEffects/Slippery.gd"
|
||||
|
||||
[node name="Label" type="Label" parent="Clopinette9"]
|
||||
margin_left = -22.9116
|
||||
margin_top = -44.3913
|
||||
margin_right = 17.0884
|
||||
margin_bottom = -30.3913
|
||||
text = "Patinage"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="DebugLabel" type="Label" parent="."]
|
||||
margin_left = 701.0
|
||||
margin_top = 52.0
|
||||
margin_right = 1289.0
|
||||
margin_bottom = 264.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
@ -2,16 +2,13 @@ extends Node
|
||||
|
||||
export var Duration = 7.5
|
||||
|
||||
func ConfusionRoutine(player, delta):
|
||||
player.get_node("ConfusionStars").visible = true
|
||||
var tex = load("res://Assets/zétoile.png")
|
||||
player.get_node("ConfusionStars/Path2D/PathFollow2D/Sprite").texture = tex
|
||||
player.get_node("ConfusionStars/Path2D/PathFollow2D2/Sprite").texture = tex
|
||||
func ConfusionRoutine(player, delta):
|
||||
var elapsed = delta
|
||||
var inputs = player.baseInputs + []
|
||||
inputs.shuffle()
|
||||
player.inputs = inputs
|
||||
while elapsed < Duration:
|
||||
player.get_node("ConfusionStars").visible = true
|
||||
elapsed += yield()
|
||||
player.inputs = player.baseInputs
|
||||
player.get_node("ConfusionStars").visible = false
|
||||
|
@ -13,18 +13,17 @@ func AlmostFadeOutRoutine(player, delta):
|
||||
var elapsed = delta
|
||||
var origin = sprite.get_modulate().a
|
||||
while sprite.self_modulate.a > FadeOutValue:
|
||||
var a = lerp(origin, FadeOutValue, elapsed / FadeOutTime)
|
||||
sprite.self_modulate = Color(1,1,1, a)
|
||||
player.ALPHA_FACTORS.append(lerp(1, FadeOutValue, elapsed / FadeOutTime))
|
||||
elapsed += yield()
|
||||
|
||||
elapsed -= FadeOutTime;
|
||||
while elapsed < InvisTime:
|
||||
player.ALPHA_FACTORS.append(FadeOutValue)
|
||||
elapsed += yield()
|
||||
elapsed -= InvisTime;
|
||||
|
||||
while sprite.self_modulate.a < origin:
|
||||
var a = lerp(FadeOutValue, origin, elapsed / FadeInTime)
|
||||
sprite.self_modulate = Color(1,1,1, a)
|
||||
player.ALPHA_FACTORS.append(lerp(FadeOutValue, 1, elapsed / FadeInTime))
|
||||
elapsed += yield()
|
||||
|
||||
|
||||
|
@ -4,28 +4,19 @@ extends Node
|
||||
export var SlipperyTime = 7.5
|
||||
|
||||
#How much less friction should the player have
|
||||
export var FrictionFactor = 20
|
||||
export var FrictionFactor = 1.0 / 20.0
|
||||
export var SpeedFactor = 3
|
||||
|
||||
func SlipperyRoutine(player, delta):
|
||||
var elapsed = delta
|
||||
player.get_node("ConfusionStars").visible = true
|
||||
var tex = load("res://Assets/Patain.png")
|
||||
player.get_node("ConfusionStars/Path2D/PathFollow2D/Sprite").texture = tex
|
||||
player.get_node("ConfusionStars/Path2D/PathFollow2D2/Sprite").texture = tex
|
||||
var originalFriction = player.FRICTION
|
||||
var originalSpeed = player.MAX_SPEED
|
||||
|
||||
player.FRICTION /= FrictionFactor
|
||||
player.MAX_SPEED *= SpeedFactor
|
||||
func SlipperyRoutine(player, delta):
|
||||
var elapsed = delta
|
||||
|
||||
while elapsed < SlipperyTime:
|
||||
player.get_node("Patins").visible = true
|
||||
player.FRICTION_FACTORS.append(FrictionFactor)
|
||||
player.SPEED_FACTORS.append(SpeedFactor)
|
||||
elapsed += yield()
|
||||
|
||||
player.get_node("ConfusionStars").visible = false
|
||||
player.FRICTION = originalFriction
|
||||
player.MAX_SPEED = originalSpeed
|
||||
|
||||
player.get_node("Patins").visible = false
|
||||
|
||||
func StartEffect(player):
|
||||
var rout = SlipperyRoutine(player, 0)
|
||||
|
@ -9,14 +9,10 @@ export var GrowDownTime = 1.0
|
||||
export var GrowUpFactor = 5
|
||||
|
||||
#How much slower should the player become
|
||||
export var SlowFactor = 6
|
||||
export var SlowFactor = 1.0 / 6.0
|
||||
|
||||
func GiantRoutine(player, delta):
|
||||
var elapsed = delta
|
||||
var fast_speed = player.MAX_SPEED
|
||||
var slow_speed = player.MAX_SPEED / SlowFactor
|
||||
var fast_acc = player.ACCELERATION
|
||||
var slow_acc = player.ACCELERATION / SlowFactor
|
||||
var small_scale = player.transform.get_scale()
|
||||
var big_scale = player.transform.get_scale() * GrowUpFactor
|
||||
var sprite = player.get_node("Sprite")
|
||||
@ -24,26 +20,24 @@ func GiantRoutine(player, delta):
|
||||
var conf = player.get_node("ConfusionStars")
|
||||
|
||||
while elapsed < GrowUpTime:
|
||||
player.MAX_SPEED = lerp(fast_speed, slow_speed, elapsed / GrowUpTime)
|
||||
player.ACCELERATION = lerp(fast_acc, slow_acc, elapsed / GrowUpTime)
|
||||
setScale(sprite, coll, conf, lerp(small_scale, big_scale, elapsed / GrowUpTime))
|
||||
player.SPEED_FACTORS.append(lerp(1, SlowFactor, elapsed / GrowUpTime))
|
||||
player.ACCELERATION_FACTORS.append(lerp(1, SlowFactor, elapsed / GrowUpTime))
|
||||
player.SCALE_FACTORS.append(lerp(1, GrowUpFactor, elapsed / GrowUpTime))
|
||||
elapsed += yield()
|
||||
|
||||
elapsed -= GrowUpTime;
|
||||
while elapsed < IsBigTime:
|
||||
player.SPEED_FACTORS.append(SlowFactor)
|
||||
player.ACCELERATION_FACTORS.append(SlowFactor)
|
||||
player.SCALE_FACTORS.append(GrowUpFactor)
|
||||
elapsed += yield()
|
||||
elapsed -= IsBigTime;
|
||||
|
||||
while elapsed < GrowDownTime:
|
||||
player.MAX_SPEED = lerp(slow_speed, fast_speed, elapsed / GrowDownTime)
|
||||
player.ACCELERATION = lerp(slow_acc, fast_acc, elapsed / GrowDownTime)
|
||||
setScale(sprite, coll, conf, lerp(big_scale, small_scale, elapsed / GrowDownTime))
|
||||
player.SPEED_FACTORS.append(lerp(SlowFactor, 1, elapsed / GrowDownTime))
|
||||
player.ACCELERATION_FACTORS.append(lerp(SlowFactor, 1, elapsed / GrowDownTime))
|
||||
player.SCALE_FACTORS.append(lerp(GrowUpFactor, 1, elapsed / GrowDownTime))
|
||||
elapsed += yield()
|
||||
|
||||
func setScale(sprite, coll, conf, scale):
|
||||
sprite.scale = scale;
|
||||
coll.scale = scale;
|
||||
conf.scale = scale;
|
||||
|
||||
func StartEffect(player):
|
||||
var rout = GiantRoutine(player, 0)
|
||||
|
@ -1,8 +1,20 @@
|
||||
extends KinematicBody2D
|
||||
|
||||
var MAX_SPEED = 600
|
||||
var ACCELERATION = 1800
|
||||
var FRICTION = 2000
|
||||
const MAX_SPEED = 600
|
||||
const ACCELERATION = 1800
|
||||
const FRICTION = 2000
|
||||
var SPEED_FACTORS = []
|
||||
var ACCELERATION_FACTORS = []
|
||||
var FRICTION_FACTORS = []
|
||||
var SCALE_FACTORS = []
|
||||
var ALPHA_FACTORS = []
|
||||
|
||||
var empty_coroutine_frames = 0
|
||||
|
||||
var current_speed = MAX_SPEED
|
||||
var current_acceleration = ACCELERATION
|
||||
var current_friction = FRICTION
|
||||
|
||||
var MAX_LIFE = 30
|
||||
const PICKUP_BONUS = 5
|
||||
export var rota_speed = 100
|
||||
@ -15,8 +27,7 @@ var fast_trail = load("res://Scene/FastPaint.tscn")
|
||||
var slow_cooldown_elapsed = 5
|
||||
var fast_cooldown_elapsed = 5
|
||||
|
||||
var follow1;
|
||||
var follow2;
|
||||
var pathFollows = []
|
||||
|
||||
var vel = Vector2.ZERO
|
||||
var last_dir = Vector2.ZERO
|
||||
@ -38,12 +49,19 @@ onready var animationPlayer = $AnimationPlayer
|
||||
onready var animationTree = $AnimationTree
|
||||
onready var animationState = animationTree.get("parameters/playback")
|
||||
onready var pickupPlayer = $PickupPlayer
|
||||
onready var sprite = $Sprite
|
||||
onready var coll = $CollisionShape2D
|
||||
onready var conf = $ConfusionStars
|
||||
onready var pati = $Patins
|
||||
|
||||
var healthBar = null
|
||||
|
||||
func _ready():
|
||||
get_node("ConfusionStars").visible = false
|
||||
follow1 = get_node("ConfusionStars/Path2D/PathFollow2D")
|
||||
follow2 = get_node("ConfusionStars/Path2D/PathFollow2D2")
|
||||
coroutines = []
|
||||
pathFollows.append(get_node("ConfusionStars/Path2D/PathFollow2D"))
|
||||
pathFollows.append(get_node("ConfusionStars/Path2D/PathFollow2D2"))
|
||||
pathFollows.append(get_node("Patins/Path2D/PathFollow2D"))
|
||||
pathFollows.append(get_node("Patins/Path2D/PathFollow2D2"))
|
||||
if self.name == "Player1":
|
||||
healthBar = get_tree().get_nodes_in_group("healthbar")[0]
|
||||
elif self.name == "Player2":
|
||||
@ -87,8 +105,8 @@ func launch_fast():
|
||||
world.add_child(inst)
|
||||
|
||||
func _process(delta):
|
||||
follow1.set_offset(follow1.get_offset() + delta * rota_speed)
|
||||
follow2.set_offset(follow2.get_offset() + delta * rota_speed)
|
||||
for each in pathFollows:
|
||||
each.set_offset(each.get_offset() + delta * rota_speed)
|
||||
|
||||
if (self.name == "Player1" && Input.get_action_strength("gameplay_slow") > 0) \
|
||||
|| (self.name == "Player2" && Input.get_action_strength("gameplay_slow2") > 0):
|
||||
@ -118,32 +136,82 @@ func get_dir():
|
||||
input_vector = input_vector.normalized()
|
||||
return input_vector
|
||||
|
||||
func setScale(scale):
|
||||
sprite.scale = scale;
|
||||
coll.scale = scale;
|
||||
conf.scale = scale;
|
||||
|
||||
func setAlpha(alpha):
|
||||
sprite.self_modulate = Color(1,1,1, alpha)
|
||||
|
||||
func array_mul(array):
|
||||
var val = 1
|
||||
for i in array:
|
||||
val *= i
|
||||
return val
|
||||
|
||||
func array_sum(array):
|
||||
var val = 0
|
||||
for i in array:
|
||||
val += i
|
||||
return val
|
||||
|
||||
func array_specsum(array):
|
||||
if array.size() == 0:
|
||||
return 1
|
||||
var smaller = []
|
||||
var bigger = []
|
||||
for val in array:
|
||||
smaller.append(val) if val < 1 else bigger.append(val)
|
||||
smaller = array_mul(smaller)
|
||||
bigger = 1 if bigger.size() == 0 else array_sum(bigger)
|
||||
return smaller * bigger
|
||||
|
||||
func update_current():
|
||||
current_speed = MAX_SPEED * array_specsum(SPEED_FACTORS)
|
||||
current_acceleration = ACCELERATION * array_specsum(ACCELERATION_FACTORS)
|
||||
current_friction = FRICTION * array_specsum(FRICTION_FACTORS)
|
||||
setScale(Vector2.ONE * array_specsum(SCALE_FACTORS))
|
||||
if SCALE_FACTORS.size() > 1:
|
||||
print("FACTO == " + String(SCALE_FACTORS))
|
||||
print("SCALE == " + String(Vector2.ONE * array_specsum(SCALE_FACTORS)))
|
||||
setAlpha(1 * array_specsum(ALPHA_FACTORS))
|
||||
|
||||
func _physics_process(delta):
|
||||
var input_vector = get_dir()
|
||||
|
||||
update_current()
|
||||
|
||||
if input_vector != Vector2.ZERO:
|
||||
last_dir = input_vector
|
||||
animationTree.set("parameters/Idle/blend_position", input_vector)
|
||||
animationTree.set("parameters/Run/blend_position", input_vector)
|
||||
animationState.travel("Run")
|
||||
vel = vel.move_toward(input_vector * MAX_SPEED, ACCELERATION * delta)
|
||||
vel = vel.move_toward(input_vector * current_speed, current_acceleration * delta)
|
||||
else:
|
||||
animationState.travel("Idle")
|
||||
vel = vel.move_toward(Vector2.ZERO, FRICTION * delta)
|
||||
vel = vel.move_toward(Vector2.ZERO, current_friction * delta)
|
||||
|
||||
vel = move_and_slide(vel)
|
||||
|
||||
func updatePaintEffects(delta):
|
||||
var updated = []
|
||||
for rout in coroutines:
|
||||
if rout != null && rout.is_valid():
|
||||
var new_rout = rout.resume(delta)
|
||||
if new_rout != null && new_rout.is_valid():
|
||||
updated.append(new_rout)
|
||||
coroutines.remove(coroutines.find(rout))
|
||||
|
||||
for rout in updated:
|
||||
coroutines.append(rout)
|
||||
var updated = []
|
||||
#if coroutines.size() == 0:
|
||||
# empty_coroutine_frames += 1
|
||||
#else:
|
||||
# empty_coroutine_frames = 0
|
||||
|
||||
#if empty_coroutine_frames > 2 || coroutines.size() > 0:
|
||||
ACCELERATION_FACTORS = []
|
||||
FRICTION_FACTORS = []
|
||||
SPEED_FACTORS = []
|
||||
SCALE_FACTORS = []
|
||||
ALPHA_FACTORS = []
|
||||
for rout in coroutines:
|
||||
if rout != null && rout.is_valid():
|
||||
updated.append(rout.resume(delta))
|
||||
|
||||
coroutines = updated + []
|
||||
|
||||
func addCoroutine(routine):
|
||||
pickupPlayer.play()
|
||||
|
@ -17,6 +17,7 @@ func unslow_player(victim):
|
||||
func _ready():
|
||||
sprite = get_node("Sprite")
|
||||
get_node("Sprite/Area2D").connect("body_entered", self, "slow_player")
|
||||
get_node("Sprite/Area2D").connect("body_entered", self, "slow_player")
|
||||
get_node("Sprite/Area2D").connect("body_exited", self, "unslow_player")
|
||||
|
||||
func _process(delta):
|
||||
|
Loading…
x
Reference in New Issue
Block a user