for file in dir_contents(folder_path):
if file.get_extension() == "tres":
tres_files.append(file)
if '.tres.remap' in file: # 追加
image_files.append(file.trim_suffix(".remap"))
そこで、公式ドキュメントの「Active Development Considerations」の項では、XcodeプロジェクトからGodotのプロジェクトをフォルダ参照することで、変更のたびに毎回Exportし直さなくても常に最新の内容でiOSアプリをビルド・実行可能にする方法が説明されている。(※プラグインの追加時など、Xcodeプロジェクトの構造変更が必要な時はプロジェクトの出力し直しが必要になる)これは実に便利で、特にアプリ内課金の機能などiOSのネイティブ機能を使う部分の開発・デバッグには不可欠な手順になっている。
func _process(delta):
var children = get_tree().get_nodes_in_group("mygroup")
for child in children:
if child.position.x >= get_viewport_rect().size.x:
child.position = Vector2(-100, child.position.y)
extends Node2D
const HaeScene = preload("res://Hae.tscn")
var rng = RandomNumberGenerator.new()
# Called when the node enters the scene tree for the first time.
func _ready():
rng.randomize()
for n in 10:
var anInstance = HaeScene.instance()
anInstance.name = "Hae" + str(n)
anInstance.position = Vector2(rng.randf_range(0.0, get_viewport_rect().size.x), rng.randf_range(0.0, get_viewport_rect().size.y))
anInstance.add_to_group("enemies")
self.add_child(anInstance)
extends Node2D
const HaeScene = preload("res://Hae.tscn")
var rng = RandomNumberGenerator.new()
const STAGE_MARGIN = 100
# Called when the node enters the scene tree for the first time.
func _ready():
...
func _process(delta):
var stageEdgeLeft = -STAGE_MARGIN
var stageEdgeRight = get_viewport_rect().size.x + STAGE_MARGIN
var stageEdgeTop = -STAGE_MARGIN
var stageEdgeBottom = get_viewport_rect().size.y + STAGE_MARGIN
for enemy in get_tree().get_nodes_in_group("enemies"):
if enemy.position.x < stageEdgeLeft:
enemy.position = Vector2(stageEdgeRight, enemy.position.y)
if enemy.position.x > stageEdgeRight:
enemy.position = Vector2(stageEdgeLeft, enemy.position.y)
if enemy.position.y < stageEdgeTop:
enemy.position = Vector2(enemy.position.x, stageEdgeBottom)
if enemy.position.y > stageEdgeBottom:
enemy.position = Vector2(enemy.position.x, stageEdgeTop)
Project ManagerのNew Projectから新しいプロジェクトを作る。RendererにはOpenGL ES 3.0とOpenGL ES 2.0のいずれかを選択できる。今回は特に古いデバイスで動かしたいとかブラウザ上で動かしたいというような目的はないので、OpenGL ES 3.0を選んだ。