Gnomisme et Gigantisation
This commit is contained in:
parent
1cc6fa6b00
commit
4bd47b9a6c
@ -28,5 +28,43 @@ shape = SubResource( 1 )
|
|||||||
position = Vector2( 221.278, 126.847 )
|
position = Vector2( 221.278, 126.847 )
|
||||||
|
|
||||||
[node name="Clopinette" parent="." instance=ExtResource( 3 )]
|
[node name="Clopinette" parent="." instance=ExtResource( 3 )]
|
||||||
position = Vector2( 149.267, 34.1946 )
|
position = Vector2( 90.0584, 291.46 )
|
||||||
scriptName = "res://Scripts/PaintEffects/Invisibility.gd"
|
scriptName = "res://Scripts/PaintEffects/Invisibility.gd"
|
||||||
|
|
||||||
|
[node name="Clopinette2" parent="." instance=ExtResource( 3 )]
|
||||||
|
position = Vector2( 354.897, 298.002 )
|
||||||
|
scriptName = "res://Scripts/PaintEffects/Upscale.gd"
|
||||||
|
|
||||||
|
[node name="Clopinette3" parent="." instance=ExtResource( 3 )]
|
||||||
|
position = Vector2( 589.812, 295.726 )
|
||||||
|
scriptName = "res://Scripts/PaintEffects/Downscale.gd"
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="."]
|
||||||
|
margin_left = 60.8618
|
||||||
|
margin_top = 252.548
|
||||||
|
margin_right = 128.862
|
||||||
|
margin_bottom = 266.548
|
||||||
|
text = "Invisibilité"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="."]
|
||||||
|
margin_left = 313.979
|
||||||
|
margin_top = 250.273
|
||||||
|
margin_right = 397.979
|
||||||
|
margin_bottom = 264.273
|
||||||
|
text = "Gigantisation"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Label3" type="Label" parent="."]
|
||||||
|
margin_left = 551.169
|
||||||
|
margin_top = 251.979
|
||||||
|
margin_right = 635.169
|
||||||
|
margin_bottom = 265.979
|
||||||
|
text = "Gnomisme"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
49
Scripts/PaintEffects/Downscale.gd
Normal file
49
Scripts/PaintEffects/Downscale.gd
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
#The time, in seconds, it should take for the character to grow down
|
||||||
|
export var GrowDownTime = 2.0
|
||||||
|
export var IsSmallTime = 5.0
|
||||||
|
export var GrowBigTime = 1.0
|
||||||
|
|
||||||
|
#How much smaller should the player become
|
||||||
|
export var GrowDownFactor = 5
|
||||||
|
|
||||||
|
#How much faster should the player become
|
||||||
|
export var FastFactor = 8
|
||||||
|
|
||||||
|
func DwarfRoutine(player, delta):
|
||||||
|
var elapsed = delta
|
||||||
|
var fast_speed = player.MAX_SPEED * FastFactor
|
||||||
|
var slow_speed = player.MAX_SPEED
|
||||||
|
var fast_acc = player.ACCELERATION * (FastFactor / 2)
|
||||||
|
var slow_acc = player.ACCELERATION
|
||||||
|
var small_scale = player.transform.get_scale() / GrowDownFactor
|
||||||
|
var big_scale = player.transform.get_scale()
|
||||||
|
var sprite = player.get_node("Sprite")
|
||||||
|
var coll = player.get_node("CollisionShape2D")
|
||||||
|
|
||||||
|
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, lerp(big_scale, small_scale, elapsed / GrowDownTime))
|
||||||
|
elapsed += yield()
|
||||||
|
|
||||||
|
elapsed -= GrowDownTime;
|
||||||
|
while elapsed < IsSmallTime:
|
||||||
|
elapsed += yield()
|
||||||
|
elapsed -= IsSmallTime;
|
||||||
|
|
||||||
|
while elapsed < GrowBigTime:
|
||||||
|
player.MAX_SPEED = lerp(fast_speed, slow_speed, elapsed / GrowBigTime)
|
||||||
|
player.ACCELERATION = lerp(fast_acc, slow_acc, elapsed / GrowBigTime)
|
||||||
|
setScale(sprite, coll, lerp(small_scale, big_scale, elapsed / GrowBigTime))
|
||||||
|
elapsed += yield()
|
||||||
|
|
||||||
|
func setScale(sprite, coll, scale):
|
||||||
|
sprite.scale = scale;
|
||||||
|
coll.scale = scale;
|
||||||
|
|
||||||
|
func StartEffect(player):
|
||||||
|
var rout = DwarfRoutine(player, 0)
|
||||||
|
return rout
|
||||||
|
|
@ -3,10 +3,10 @@ extends Node
|
|||||||
#The time, in seconds, it should take for the character to fade to FadeOutValue
|
#The time, in seconds, it should take for the character to fade to FadeOutValue
|
||||||
export var FadeOutTime = 2.0
|
export var FadeOutTime = 2.0
|
||||||
export var InvisTime = 5.0
|
export var InvisTime = 5.0
|
||||||
export var FadeInTime = 2.0
|
export var FadeInTime = 1.0
|
||||||
|
|
||||||
#The alpha value we aim for when fading out
|
#The alpha value we aim for when fading out
|
||||||
export var FadeOutValue = 0.05
|
export var FadeOutValue = 0.025
|
||||||
|
|
||||||
func AlmostFadeOutRoutine(player, delta):
|
func AlmostFadeOutRoutine(player, delta):
|
||||||
var sprite : Sprite = player.get_node("Sprite")
|
var sprite : Sprite = player.get_node("Sprite")
|
||||||
|
49
Scripts/PaintEffects/Upscale.gd
Normal file
49
Scripts/PaintEffects/Upscale.gd
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
#The time, in seconds, it should take for the character to grow up
|
||||||
|
export var GrowUpTime = 2.0
|
||||||
|
export var IsBigTime = 5.0
|
||||||
|
export var GrowDownTime = 1.0
|
||||||
|
|
||||||
|
#How much bigger should the player become
|
||||||
|
export var GrowUpFactor = 5
|
||||||
|
|
||||||
|
#How much slower should the player become
|
||||||
|
export var SlowFactor = 8
|
||||||
|
|
||||||
|
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")
|
||||||
|
var coll = player.get_node("CollisionShape2D")
|
||||||
|
|
||||||
|
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, lerp(small_scale, big_scale, elapsed / GrowUpTime))
|
||||||
|
elapsed += yield()
|
||||||
|
|
||||||
|
elapsed -= GrowUpTime;
|
||||||
|
while elapsed < IsBigTime:
|
||||||
|
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, lerp(big_scale, small_scale, elapsed / GrowDownTime))
|
||||||
|
elapsed += yield()
|
||||||
|
|
||||||
|
func setScale(sprite, coll, scale):
|
||||||
|
sprite.scale = scale;
|
||||||
|
coll.scale = scale;
|
||||||
|
|
||||||
|
func StartEffect(player):
|
||||||
|
var rout = GiantRoutine(player, 0)
|
||||||
|
return rout
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
extends KinematicBody2D
|
extends KinematicBody2D
|
||||||
|
|
||||||
const MAX_SPEED = 200
|
var MAX_SPEED = 200
|
||||||
const ACCELERATION = 1000
|
var ACCELERATION = 1000
|
||||||
const FRICTION = 1000
|
var FRICTION = 1000
|
||||||
const MAX_LIFE = 30
|
var MAX_LIFE = 30
|
||||||
|
|
||||||
var vel = Vector2.ZERO
|
var vel = Vector2.ZERO
|
||||||
var curLife = MAX_LIFE
|
var curLife = MAX_LIFE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user