俺に解るように説明する "Armory Engine" 入門+

ゲームエンジン Armory Engine (Armory3D) の使い方を手探りで学んで入門しようって感じかな。

P5.エアホッケー.04「パックは1個だけ~」

f:id:ore2wakaru:20190508170333p:plain

1個だけ出すようにするのは簡単。スポーンした時にフラグを立ててやって、そのフラグが立ってる時はもうスポーンさせないようにすればいいダケ。で、自陣、又は敵陣にゴールした時にこのフラグを引っ込めてやればまた出るようになるって作戦だ。

パックがあれば、"パックある" = True

前回 "Kami" に付けたスクリプトにこう変更を加える。(赤いのが追加部分)

f:id:ore2wakaru:20190508161327p:plain

 On Init"packAru" というプロパティを作って、これに False 値を初期値としてセットする。Booleanノードは TrueFalse のどちらかの値を保持するもの。チェックが入っていれば Trueなければ False となる。今回は「パックが無い=False」と考えるので、ゲームスタート時点では False にセットする。

 パックを出す部分に変更を加える。

❷-1(前回と同じ) でスペースキーが押されたら、

❷-2 でパックがあるかチェックし、"packAru" = False の時のみ次の処理に行くようにする。ここで使っているノードがIs Falseだ。

Is True は入力された値が True の時に、Is FalseFalse の時に out ピンから信号が出て次の処理に移れる。ペアで覚えておこう。ま、Gateを使ってチェックをしてもいいけど、 True / False(真偽値)のチェックならこっちの方がシンプルだろ?

❷-3(前回と同じ) ここでシーンをコピペして、

❷-4 "packAru"True にセット。(チェック入れる方ね。) パックを出したので、「パックある = True」としたってことだ。簡単だったな。

これで、パックがある時はパックは出ない。試しに [▶ Play] してみてくれな。

ゴールしたら、"パックある" = False に・・・

パックを再出現させてもいいタイミング、それは "packAru" = False の時。で、いつそうするかっていうと、どっちかの陣地にゴールした時だな。

だから、ゴール判定処理をしなくちゃいけないんだけど、次回にするわ。頭痛が痛い。

本日のポインヨ
  • Booleanでフラグ設定。
  • Is TrueIs Falseはセットで覚える。

 次回、ゴール処理。(ちなみに False は「フォールス」な、読み。/fˈɔːls/)