hero-mark-2/objects/enemy/ghost_scholar.gd

33 lines
1,022 B
GDScript

tool
extends "res://objects/enemy/enemy.gd"
## the radius the ghost orbits around
export var radius: float = 0.0
## initital rotation offset in full circles
export var initial_angle: float = 0.0
## speed the ghost revolves in cycles/second
export var speed: float = 0.0
onready var pivot: Node2D = $Pivot
onready var remote_transform: RemoteTransform2D = $Pivot/RemoteTransform
func _ready() -> void:
pivot.rotation = TAU * initial_angle
func _physics_process(delta: float) -> void:
if Engine.editor_hint:
return
# update radius
remote_transform.position.x = radius * 8.0
# process rotation
pivot.rotation += speed * delta * 0.785398 # TAU / l8.0
func _process(delta: float) -> void:
if Engine.editor_hint and Engine.get_frames_drawn() % 10 == 0:
get_node("Pivot").rotation = TAU * initial_angle
get_node("Pivot/RemoteTransform").position.x = radius * 8.0
update()
func _draw() -> void:
if Engine.editor_hint:
draw_arc(Vector2(4.0, 4.0), radius * 8.0, 0.0, TAU, 13, Color(0.0, 1.0, 1.0, 0.1), 1.5)