#
# 蛇のように動くキャラクターの体のスクリプト
#
extends CharacterBody2D
# 移動速度
const MOVE_SPEED = 30
# 移動地点をプロットする時間間隔
const WAY_TIME = 0.30
# 体の何番目であるか?
@export var body_num : int
# headノードの参照
@onready var head = $"../head"
# 移動目標地点
var way_point : Vector2
func _ready():
# head が位置をプロットしたときのシグナルを接続する
head.SIG_SET_WAY_POINT.connect(read_way_point)
func _physics_process(_delta)
# 実際の移動
move_and_slide()
# head が位置をプロットしたときに呼び出される処理
func read_way_point():
# 移動履歴を参照して次の移動先にする
way_point = head._get_way_point(body_num)
# 移動量を指定する
velocity.x = (way_point.x - global_position.x) / WAY_TIME
velocity.y = (way_point.y - global_position.y) / WAY_TIME