fast trail go fast
This commit is contained in:
parent
e449361e47
commit
ca1b21e95e
22
Scene/FastTrail.tscn
Normal file
22
Scene/FastTrail.tscn
Normal file
@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/BigPlaceholder.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Scripts/FastTrail.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 88.8117, 26.2111 )
|
||||
|
||||
[node name="FastTrail" type="Node2D"]
|
||||
rotation = -6.28319
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
modulate = Color( 0.901961, 0, 0, 1 )
|
||||
z_index = 10
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 88, 0 )
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="Sprite"]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Area2D"]
|
||||
shape = SubResource( 1 )
|
@ -243,6 +243,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 )
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="ConfusionStars"]
|
||||
position = Vector2( -19.4617, -21.2425 )
|
||||
|
@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene load_steps=6 format=2]
|
||||
|
||||
[ext_resource path="res://Scene/Player.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://Scene/Clopinette.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://Scene/EndGameWindow.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://Scene/GameManager.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://Scene/HealthBar.tscn" type="PackedScene" id=6]
|
||||
@ -52,3 +53,11 @@ position = Vector2( 1659.71, 594.146 )
|
||||
"spawn_point",
|
||||
]]
|
||||
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"
|
||||
|
||||
[node name="Clopinette2" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 259.961, 538.562 )
|
||||
scriptName = "res://Scripts/PaintEffects/Slippery.gd"
|
||||
|
29
Scripts/FastTrail.gd
Normal file
29
Scripts/FastTrail.gd
Normal file
@ -0,0 +1,29 @@
|
||||
extends Node
|
||||
|
||||
var fastFactor
|
||||
var lifetime = 5
|
||||
var elapsed = 0
|
||||
var sprite
|
||||
|
||||
func slow_player(victim):
|
||||
if victim.is_in_group("Player"):
|
||||
victim.MAX_SPEED *= fastFactor
|
||||
victim.ACCELERATION *= fastFactor
|
||||
|
||||
func unslow_player(victim):
|
||||
if victim.is_in_group("Player"):
|
||||
victim.MAX_SPEED /= fastFactor
|
||||
victim.ACCELERATION /= fastFactor
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
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 elapsed >= lifetime * 0.7:
|
||||
sprite.self_modulate = Color(1,1,1,lerp(1, 0, (elapsed - lifetime * 0.7) / (lifetime * 0.3)))
|
||||
if elapsed >= lifetime:
|
||||
queue_free()
|
@ -7,10 +7,13 @@ var MAX_LIFE = 30
|
||||
const PICKUP_BONUS = 5
|
||||
export var rota_speed = 100
|
||||
export var slow_cooldown = 5
|
||||
export var fast_cooldown = 5
|
||||
|
||||
var slow_trail = load("res://Scene/SlowPaint.tscn")
|
||||
var fast_trail = load("res://Scene/FastPaint.tscn")
|
||||
|
||||
var slow_cooldown_elapsed = 5
|
||||
var fast_cooldown_elapsed = 5
|
||||
|
||||
var follow1;
|
||||
var follow2;
|
||||
@ -65,6 +68,24 @@ func launch_slow():
|
||||
inst.slowFactor = 2
|
||||
world.add_child(inst)
|
||||
|
||||
func launch_fast():
|
||||
if fast_cooldown_elapsed < fast_cooldown:
|
||||
return
|
||||
fast_cooldown_elapsed = 0
|
||||
var world = get_parent()
|
||||
var inst = load("res://Scene/FastTrail.tscn").instance()
|
||||
var dir = get_dir()
|
||||
if dir == Vector2.ZERO:
|
||||
dir = (last_dir if last_dir != Vector2.ZERO else Vector2.DOWN)
|
||||
var angle = acos(dir.dot(Vector2.RIGHT))
|
||||
var modifier = 0
|
||||
if dir.y < 0:
|
||||
modifier += angle * -2
|
||||
inst.transform = inst.transform.rotated(angle + modifier)
|
||||
inst.position = self.position
|
||||
inst.fastFactor = 2
|
||||
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)
|
||||
@ -73,6 +94,10 @@ func _process(delta):
|
||||
|| (self.name == "Player2" && Input.get_action_strength("gameplay_slow2") > 0):
|
||||
launch_slow()
|
||||
|
||||
if (self.name == "Player1" && Input.get_action_strength("gameplay_fast") > 0) \
|
||||
|| (self.name == "Player2" && Input.get_action_strength("gameplay_fast2") > 0):
|
||||
launch_fast()
|
||||
|
||||
updatePaintEffects(delta)
|
||||
curLife -= delta
|
||||
slow_cooldown_elapsed += delta
|
||||
|
Loading…
x
Reference in New Issue
Block a user