Godot3で倉庫番系パズルゲームの開発
https://gyazo.com/3cff4abf5cb1fdd727db48f6ffeb711f
開発メモ
https://gyazo.com/0dae1a1948c18c7ddfc0af1cd028000d
プレイヤーが通れないタイルにはコリジョンを設定した
https://gyazo.com/0fcc7e3498db704d5453537038e2e4ec
タイルを配置していく操作はやりやすかった
Tweenを使ったが、Tweenは 4系で大幅に刷新されるらしいので、あまりメモらない
group機能を初めて使ったが便利だった
Objectがtanishi かどうか、player かどうかを簡単に判別する
metaデータ機能と合わせて、タニシが井戸上にいるかどうかを毎フレームチェックできる
code:check_tanishi_in_ido.py
for tanishi in get_tree().get_nodes_in_group("tanishi"):
tanishi_count += 1
if tanishi.has_meta("in_ido") == false:
continue
var in_ido:bool = tanishi.get_meta("in_ido")
if tanishi.get_meta("in_ido"):
tanishi_ok += 1
井戸川で、タニシがenterした時は metaをtrueに、eixt した時は meta を falseに設定している
CollisonObjectの enter/exit の signal判定処理は、Tweenを使うとややこしくなるので注意する
Tween移動を入れた途端、これで色々バグった
一瞬で判定が決まるわけではないし、出たり入ったりするケースや、同時に2箇所に触れるケースなどを考慮する
export構文はヒントや数値のインターバル、型制約などをつけると便利
参考動画:
https://www.youtube.com/watch?v=HmnwNadwHWI&t=1665s
シンプルな倉庫番のロジックについて解説しており、参考になった