hop les trails fdp
This commit is contained in:
parent
e02127522f
commit
8c5ab22d90
Binary file not shown.
|
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 1.3 KiB |
@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/BigPlaceholder.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Assets/PAINT1.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Scripts/FastTrail.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Assets/BigPlaceholder.png" type="Texture" id=3]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 88.8117, 26.2111 )
|
||||
@ -12,6 +13,7 @@ script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
modulate = Color( 0.901961, 0, 0, 1 )
|
||||
light_mask = 64
|
||||
z_index = 10
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 88, 0 )
|
||||
@ -19,4 +21,13 @@ offset = Vector2( 88, 0 )
|
||||
[node name="Area2D" type="Area2D" parent="Sprite"]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Area2D"]
|
||||
visible = false
|
||||
position = Vector2( 87, 0 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Mask" type="Light2D" parent="."]
|
||||
position = Vector2( 88.2346, -0.629855 )
|
||||
scale = Vector2( 1, 1.2 )
|
||||
texture = ExtResource( 3 )
|
||||
mode = 3
|
||||
range_item_cull_mask = 64
|
||||
|
||||
@ -1,16 +1,18 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/BigPlaceholder.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Assets/PAINT1.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Scripts/SlowTrail.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Assets/BigPlaceholder.png" type="Texture" id=3]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 88.8117, 26.2111 )
|
||||
|
||||
[node name="SlowTrail" type="Node2D"]
|
||||
rotation = -6.28319
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
modulate = Color( 0.0392157, 0.0313726, 0.917647, 1 )
|
||||
light_mask = 512
|
||||
z_index = 10
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 88, 0 )
|
||||
@ -18,4 +20,13 @@ offset = Vector2( 88, 0 )
|
||||
[node name="Area2D" type="Area2D" parent="Sprite"]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Area2D"]
|
||||
visible = false
|
||||
position = Vector2( 87, 0 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Mask" type="Light2D" parent="."]
|
||||
position = Vector2( 88, 0 )
|
||||
scale = Vector2( 1, 1.2 )
|
||||
texture = ExtResource( 3 )
|
||||
mode = 3
|
||||
range_item_cull_mask = 512
|
||||
|
||||
@ -4,25 +4,33 @@ var fastFactor
|
||||
var lifetime = 5
|
||||
var elapsed = 0
|
||||
var sprite
|
||||
var players
|
||||
|
||||
onready var mask = $Mask
|
||||
|
||||
func slow_player(victim):
|
||||
if victim.is_in_group("Player"):
|
||||
victim.MAX_SPEED *= fastFactor
|
||||
victim.ACCELERATION *= fastFactor
|
||||
players.append(victim)
|
||||
|
||||
func unslow_player(victim):
|
||||
if victim.is_in_group("Player"):
|
||||
victim.MAX_SPEED /= fastFactor
|
||||
victim.ACCELERATION /= fastFactor
|
||||
players.remove(players.find(victim))
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
players = []
|
||||
sprite = get_node("Sprite")
|
||||
get_node("Sprite/Area2D").connect("body_entered", self, "slow_player")
|
||||
get_node("Sprite/Area2D").connect("body_exited", self, "unslow_player")
|
||||
|
||||
func _process(delta):
|
||||
elapsed += delta
|
||||
if mask != null:
|
||||
mask.offset.x = lerp(88, 270, elapsed / 0.8)
|
||||
if mask.offset.x >= 269:
|
||||
mask.queue_free()
|
||||
mask = null
|
||||
for each in players:
|
||||
each.SPEED_FACTORS.append(2)
|
||||
if elapsed >= lifetime * 0.7:
|
||||
sprite.self_modulate = Color(1,1,1,lerp(1, 0, (elapsed - lifetime * 0.7) / (lifetime * 0.3)))
|
||||
if elapsed >= lifetime:
|
||||
|
||||
@ -71,6 +71,7 @@ func _ready():
|
||||
func launch_slow():
|
||||
if slow_cooldown_elapsed < slow_cooldown:
|
||||
return
|
||||
curLife -= 3
|
||||
slow_cooldown_elapsed = 0
|
||||
var world = get_parent()
|
||||
var inst = load("res://Scene/SlowTrail.tscn").instance()
|
||||
@ -89,6 +90,7 @@ func launch_slow():
|
||||
func launch_fast():
|
||||
if fast_cooldown_elapsed < fast_cooldown:
|
||||
return
|
||||
curLife -= 3
|
||||
fast_cooldown_elapsed = 0
|
||||
var world = get_parent()
|
||||
var inst = load("res://Scene/FastTrail.tscn").instance()
|
||||
@ -119,6 +121,7 @@ func _process(delta):
|
||||
updatePaintEffects(delta)
|
||||
curLife -= delta
|
||||
slow_cooldown_elapsed += delta
|
||||
fast_cooldown_elapsed += delta
|
||||
if curLife <= 0:
|
||||
get_node("/root/World/GameManager").endGame()
|
||||
healthBar.healthUpdated(curLife)
|
||||
|
||||
@ -4,24 +4,33 @@ var slowFactor
|
||||
var lifetime = 5
|
||||
var elapsed = 0
|
||||
var sprite
|
||||
var players
|
||||
|
||||
onready var mask = $Mask
|
||||
|
||||
func slow_player(victim):
|
||||
if victim.is_in_group("Player"):
|
||||
victim.MAX_SPEED /= slowFactor
|
||||
players.append(victim)
|
||||
|
||||
func unslow_player(victim):
|
||||
if victim.is_in_group("Player"):
|
||||
victim.MAX_SPEED *= slowFactor
|
||||
players.remove(players.find(victim))
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
players = []
|
||||
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):
|
||||
elapsed += delta
|
||||
if mask != null:
|
||||
mask.offset.x = lerp(88, 270, elapsed / 0.8)
|
||||
if mask.offset.x >= 269:
|
||||
mask.queue_free()
|
||||
mask = null
|
||||
for each in players:
|
||||
each.SPEED_FACTORS.append(0.5)
|
||||
if elapsed >= lifetime * 0.7:
|
||||
sprite.self_modulate = Color(1,1,1,lerp(1, 0, (elapsed - lifetime * 0.7) / (lifetime * 0.3)))
|
||||
if elapsed >= lifetime:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user