2021.12.20
Developer Lv1
目次 全消去 上下左右移動 ■全消去 何の絵を問題にするかなって考えてるときは、これいいじゃね?と思い、描き始めるのだが、 思った以上にドット絵にするのが難しく、途中で諦めてしまうことは少なくない。 そんなときは全消去を行い、新たな気持で別の絵に挑戦だ。 というわけで、全消去機能を説明する。 Und …More Read
2021.12.20
Developer Lv1
目次 メイン画面 Undo/Redo メイン画面 前回(第1回~第4回)まで、パズルのメイン画面の基本機能を実装してきた。 今回以降は、使い勝手を上げるための Undo/Redo、全消去機能などを実装していく。 ■Undo/Redo Undo/Redo はツール系ソフトでは必須だ。表計算やワープロソ …More Read
2021.12.09
Developer Lv1
目次 UFO移動 敵機ミサイル 自機爆発 まとめ おわりに ■UFO移動 UFO の移動は、各フレーム最初にコールされる _physics_process(delta) で処理される。 UFO が画面内にあれば、position.x に移動量を足し込むだけだ。 ■敵機ミサイル 敵ミサイル発射処理は …More Read
2021.12.09
Developer Lv1
目次 トーチカ設置 敵機配置 敵機移動 ■トーチカ設置 トーチカ(バンカー)は、外部シーンとして実装しているので、必要なときに instance() を使って実体化する。 1面クリアして2面目に行くときは、トーチカは初期化されるので、bunkers 配列でバンカーオブジェクトを覚えておき、 setu …More Read
2021.12.09
Developer Lv1
目次 スクリプト 処理の全体像 自機左右移動 自機ミサイル発射 自機ミサイル飛翔・衝突 スクリプト ■処理の全体像 パズルゲームなどのリアルタイム性が無いものは、マウスクリック・キー操作などのイベントが発生した時に、 それに対する処理を記述すればよい。 それに対してアクションゲームはマウス・キー操作 …More Read
2021.12.09
Developer Lv1
目次 はじめに 画面作成 メイン画面 自機 外部シーン 衝突判定 爆発イフェクト 敵機タイマー はじめに 前シリーズでは、動きのないパズルアプリの作成方法を示した。 本稿ではそれと打って変わり、動きが多く、アクション的なゲームアプリの作成方法を示す。 具体的には、下図のような見た目のレトロなシューテ …More Read
2021.12.08
Developer Lv1
目次 盤面ドラッグ処理 セルカーソル ■盤面ドラッグ処理 マウスボタンドラッグした場合は、連続して黒または☓を入力可能にする。 そのために、下記コードのように mouse_pushed フラグを導入し、マウス押下で true に、リリースで false に設定し、 mouse_pushed が tr …More Read
2021.12.08
Developer Lv1
目次 盤面クリック処理 手がかり数字更新 ミニマップ ■盤面クリック処理 インプットマップでマウス左ボタン・右ボタンクリックを設定したので、次はクリックされた場合の処理を実装する。 下記がそのコードだ。 マウスクリックなどの入力イベントが発生した場合、_input(event) 関数がコールされる。 …More Read
2021.12.08
Developer Lv1
目次 盤面背景 盤面グリッド 盤面タイルマップ インプットマップ ■盤面背景 画像サイズが 15×15 の場合、手がかり数字が最も多くなるのは「1,1,1,1,1,1,1,1」の8桁。 1セルの幅・高さを20ピクセルとするので、盤面幅・高さは 20*(15+8) = 460ピクセルとなる。 …More Read
2021.12.08
Developer Lv1
目次 はじめに メイン画面 プロジェクト作成・ルートノード・背景 タイトルバー グローバル定数・変数 はじめに 上図の様な、2画面から成る 15×15 サイズ固定のお絵かきパズルを Godot で実装する方法の解説を行う。 本稿で示す方法はあくまでもひとつの実装方法であり、必ずしも最適な実 …More Read