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

33 lines
1 KiB
GDScript

tool
extends "res://objects/enemy/enemy.gd"
## radius in tiles the ghost orbits around
export var radius: float = 0.0
## initital rotation offset in 8th circles
export var initial_angle: float = 0.0
## speed the ghost revolves in 8th 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 = initial_angle * 0.785398 # TAU / 8.0
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 / 8.0
func _process(delta: float) -> void:
if Engine.editor_hint and Engine.get_frames_drawn() % 10 == 0:
get_node("Pivot").rotation = initial_angle * 0.785398 # TAU / 8.0
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, 17, Color(0.0, 1.0, 1.0, 0.1), 1.5)