だから、私は kinematicBody2D Soldier でインスタンス化されたシーンを持っています。私は以前、「敵」スプライトの位置を取得し、その周りに円を「描く」スクリプトを書きました。兵士がこのエリアに入ると、スプライトに回転して射撃を開始します。
古いコードは次のとおりです。
# Spotting an enemy and firing
if (position.x - enemy_sprite.position.x) * (position.x - enemy_sprite.position.x) + (position.y - enemy_sprite.position.y) * (position.y - enemy_sprite.position.y) < detection_radius*detection_radius: #checking if a soldier is in detection radius of the enemy sprite
var enemy = enemy_sprite.position - self.position
rotation = enemy.angle() + deg2rad(90)
if (bullets > 0 && canFire):
auto_fire()
else:
rotation = trans.angle() + deg2rad(90)#
問題は、兵士がもはやメイン シーンの一部ではなく、インスタンス化されていることです。
敵のスプライト ノードをインスタンス化されたオブジェクト スクリプトに取り込むにはどうすればよいですか?