Godot3で倉庫番系パズルゲームの開発
開発メモ
プレイヤーが通れないタイルにはコリジョンを設定した
タイルを配置していく操作はやりやすかった
Tweenを使ったが、Tweenは 4系で大幅に刷新されるらしいので、あまりメモらない
group機能を初めて使ったが便利だった
Objectがtanishi かどうか、player かどうかを簡単に判別する
metaデータ機能と合わせて、タニシが井戸上にいるかどうかを毎フレームチェックできる
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構文はヒントや数値のインターバル、型制約などをつけると便利
参考動画:
シンプルな倉庫番のロジックについて解説しており、参考になった