On the advice of Sophie, I adjusted the shader settings on the resource
to be local to the scene so not all CRTs flashed when one got hit.
This commit is contained in:
parent
aae3238906
commit
4f0eff986f
5 changed files with 44 additions and 41 deletions
|
|
@ -5,9 +5,9 @@ var enemy_type: String = "crt"
|
|||
var bullet_scene = preload("res://scenes/enemy_bullet.tscn")
|
||||
var start_pos = Vector2.ZERO
|
||||
var move_break
|
||||
var speed = 0
|
||||
var speed: int = 0
|
||||
var direction = Vector2(0,1)
|
||||
var tween_speed: float = 1.4
|
||||
var tween_speed: float = 1
|
||||
|
||||
var exploding = false
|
||||
var can_shoot = true
|
||||
|
|
@ -23,25 +23,25 @@ var enemy_shoot_aggression = randf_range(4, 20)
|
|||
const TILE = 32
|
||||
|
||||
@onready var screensize = get_viewport_rect().size
|
||||
@onready var timer = $MoveTimer
|
||||
@onready var move_timer = $MoveTimer
|
||||
@onready var crt = $CRT
|
||||
|
||||
func _ready():
|
||||
timer.start()
|
||||
move_timer.start()
|
||||
|
||||
func start(pos):
|
||||
speed = 2
|
||||
$CRT.frame = 0
|
||||
speed = 4
|
||||
crt.frame = 0
|
||||
#var pos_mod = randf_range(-TILE,TILE) #modify the start position randomly
|
||||
#position = Vector2(pos.x + pos_mod, -pos.y) #add the modifier
|
||||
position = Vector2(pos.x, -pos.y)
|
||||
start_pos = pos
|
||||
await get_tree().create_timer(randf_range(0.25, 0.55)).timeout
|
||||
await get_tree().create_timer(randf_range(0.25, 0.35)).timeout
|
||||
var tween = create_tween().set_trans(Tween.TRANS_BACK)
|
||||
tween.tween_property(self, "position:y", start_pos.y, tween_speed)
|
||||
await tween.finished
|
||||
$MoveTimer.wait_time = enemy_move_aggression
|
||||
$MoveTimer.start()
|
||||
move_timer.wait_time = enemy_move_aggression
|
||||
move_timer.start()
|
||||
$ShootTimer.wait_time = enemy_shoot_aggression
|
||||
$ShootTimer.start()
|
||||
|
||||
|
|
@ -53,19 +53,19 @@ func _on_direction_timer_timeout():
|
|||
var move_direction = int(randf_range(0,3))
|
||||
match move_direction:
|
||||
0:
|
||||
$CRT.frame = 0
|
||||
crt.frame = 0
|
||||
direction = Vector2(0,1)
|
||||
can_shoot = true
|
||||
vulnerable = true
|
||||
#$DirectionTimer.start()
|
||||
1:
|
||||
$CRT.frame = 1
|
||||
crt.frame = 1
|
||||
direction = Vector2(1,0)
|
||||
can_shoot = false
|
||||
vulnerable = false
|
||||
#$DirectionTimer.start()
|
||||
2:
|
||||
$CRT.frame = 2
|
||||
crt.frame = 2
|
||||
direction = Vector2(-1,0)
|
||||
can_shoot = false
|
||||
vulnerable = false
|
||||
|
|
@ -120,12 +120,16 @@ func block():
|
|||
#if blocking: return
|
||||
#blocking = true
|
||||
stunned = true
|
||||
print("CRT Stunned!")
|
||||
$DirectionTimer.stop()
|
||||
shader_active = true
|
||||
crt.material.set_shader_parameter("toggle", 1.0)
|
||||
await get_tree().create_timer(5).timeout
|
||||
await get_tree().create_timer(2).timeout
|
||||
crt.material.set_shader_parameter("toggle", 0.0)
|
||||
shader_active = false
|
||||
stunned = false
|
||||
$DirectionTimer.stop()
|
||||
print("CRT Not Stunned!")
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue