Blenderをベースにしたゲームエンジン、Armory3dの勉強中に上記の状況に遭遇したので情報共有。マニュアルとかは特に参照していないので、雑に信用してください。
結構よく遭遇するので、arm.clean_menuをショートカットキー登録しておくとお得です。
TL;DR
方法1:Source/node内の.hxファイルを削除する
方法2:Armory Player(Playがある場所)の中のCleanをクリックする
前提
Armoryのディレクトリ構成図
FirstGameフォルダの中にfirstgame.blendを置いたと考えてください。また、MyNodeというノードとMyScript.hxというスクリプトをどこかのTraitに加えたと考えてください。
開始状態
FirstGame
├─firstgame.blend
└─Source/
└─arm/
└─MyScript.hx
Play実行後(多分Build実行後も同じ)
FirstGame
├─firstgame.blend
├─khafile.js
├─build_firstgame/
└─...
└─Source/
├─Main.hx
└─arm/
├─MyScript.hx
└─node/
└─MyNode.hx
いうまでもなく、開始状態にないものは自動生成ものです。
ちなみにkhafile.jsはパス通しとかしているっぽいです。
Clean実行後
FirstGame
├─firstgame.blend
└─Source/
└─arm/
└─MyScript.hx
開始状態に戻りました。
本編
遭遇した事態
いろいろいじっていたら、ゲーム実行中にフリーズするようになった。
解決の道筋
- firstgame.blendのみを別ディレクトリに移したら、動くようになった。
- build_firstgame/を消しても、動かなかった。
- Source/を消すと動くようになった。
- node/を消すと動くようになった。
- Cleanを実行しても動くようになった。
なので、
方法1:Source/node内の.hxファイルを削除する
方法2:Armory Player(Playがある場所)の中のCleanをクリックする
のどちらかで解決すると思います。ちなみに根源はたぶんOn KeyboardノードとKeyboardノードを間違えたからです。