キャラクターをプログラム内で動的に配置する場合は次の様にします。
extends World
# HANAKOシーン(hanako.tscn)を読み込む
# @onready は _ready 関数が実行される直前に代入してくださいという指示
# preload関数はゲームの起動時にシーンとか画像とかのリソースを事前ロードする関数
@onready var hanako_scene = preload("res://hanako.tscn")
# 開始時に1度だけ実行される関数
func _ready():
# HANAKO をインスタンス化
var hanako = hanako_scene.instantiate()
# インスタンス化したHANAKOの座標をセット
hanako.position = Vector2(200,200)
# MyWorldシーンにHANAKOを追加
add_child(hanako)
extends Actor
# APPLEシーン(apple.tscn)を読み込む
@onready var apple_scene = preload("res://apple.tscn")
# 各フレームごとに繰り返し実行される関数
func _process(delta):
# d を押したらランダム位置にAPPLEを表示
if Input.is_action_just_pressed("d"):
# APPLE をインスタンス化
var apple = apple_scene.instantiate()
# インスタンス化したAPPLEの座標をセット
# HANAKOの近くに表示する
var x = position.x + randi_range(-50, 50)
var y = position.y + randi_range(-50, 50)
apple.position = Vector2(x,y)
# MyWorldシーンにAPPLEを追加
$"/root/MyWorld".add_child(apple)