色々と参考に
■ 【javaScript】エモいマインスイーパ から学ぶ再帰関数 #JavaScript - Qiita
■ Godot Making Simple Minesweeper - YouTube
チュートリアルや本、人のコードで気になった動作の確認や再現できないか試していてマインスイーパーが作れそうに思い作りました。
※今回タイルセットの設定が主となるので設定方法をご存じの方は 登録時の注意 を見たら飛ばしてもらって大丈夫です。
またTileMapがGodot 3.x 時点のものになるので Ver4 とは設定が異なります。
素材の用意
ゲーム背景
選択カーソル
表示用タイルシート
カバー用タイルシート
タイルの設定
今回タイルマップを使い作成したいと思います。
タイルマップはアクションゲーム等で地面や壁として使う方が馴染みがあるかもしれません。
しかし蛇がリンゴを食べるゲームのスネークや、数字パズルのナンプレのような動きの少ないゲームを作る時にも有効です。
スネーク:https://www.youtube.com/watch?v=-I_AdBkryoU
ナンプレ:https://tech.pjin.jp/blog/developer/godot_basic05
タイルマップノードを作成してインスペクタータブから Tileset で 新規Tileset を選択。
作成した Tileset をクリックすると画面下にタイルマップの編集画面が出てきます。
表示用のタイルシートを四角の枠内にドロップ。
画像がタイルセットに表示される。
登録した画像とタイルのサイズ感が合わないと思ったときはタイルセットの Snap Options を確認して下さい。
使用してる画像は 32 x 32 で設定しているのそれに合わせるとサイズがぴったりになるはずです。
登録時の注意
登録した画像が右側の枠にも表示されたと思います、この右側の枠内で作業しタイルセットを登録していきます。
ただここで 登録する時に注意があります
ただ難しい事ではなく 新しいシングルタイル の登録を 画像の左から順番に行う
たったこれだけですがこれが重要になってきます。
その理由は下の画像を見てください。
赤い線の部分の数字ですが、これが タイルの登録番号 になります。
今回 画像の番号とタイルの登録番号を同じにしたかった のです。
これによりプログラムの内部の数値とタイルの番号を一致させてゲームを作りたいと考えています。
もし順番を間違えて番号が合わない場合は一度タイルセットを削除し、また新しいタイルセットを作成すると確実です。
忘れていましたがタイルマップのサイズがデフォルトだと恐らくサイズが 64 x 64 なのでこちらも 32 x 32 に変更します。
メインのタイルの登録が完了したら、同じようにカバー用のタイルマップも作成します。
背景画像と作製したタイルマップを配置した状態
下準備はこれで完了です、次からスクリプトをうち込んでいきます。