【はじめてのプチコン】当たり判定の追加 | りょうのゲーム塾

りょうのゲーム塾

再開、準備中。

それではプログラムの追加・変更を行います。

変更はプログラムの大まかなブロック単位で説明していきます。
変更箇所は色変え表示されています。







りょうのゲーム塾-001

システム部分の変更です。

この変更は前々回のVSYNCのための変更を行っています。

またプログラムコードは前々回のコードを簡略化してあります。





りょうのゲーム塾-002


ライブラリの変更です。

今回タスクの変数にSFという配列変数が追加されています。

SFはステータスフラグという意味です。

タスクのステータス(状態)を保持するフラグです。


フラグについては過去ブログのコンピュータの扱い値のなかで説明した

2進数や論理演算についての記事を参考にしてください。


またフラグ処理の基本については一度説明します。


このコードの変更はタスク(配列)変数SFを宣言する部分と

今までタスク変数Xの値を-1にしていましたが

ここではタスク(配列)変数SFの値を0にしています。


今までXの値を-1にしていたのはキャラクタを表示するかしないか

その判断のためにXを-1にしていました。

同じ事をタスク変数SFで行うのでXに-1を代入する必要はありません。




りょうのゲーム塾-003

新たに当たり判定を行うサブルーチンHITCHKを追加します。


サブルーチンSETOBJの変更はステータスフラグのセットです。

このフラグのセットについても後ほど説明します。

今回行ってるのはキャラクタを表示するフラグをセットして表示するように変更しています。


サブルーチンDISPOBJの変更点はステータスフラグのキャラクタ表示フラグをチェックして

もし非表示の場合には表示するプログラムをスキップしています。


最後のカラー文は単純にカラーをデフォルト状態に戻していなかったので

追加してあります。





りょうのゲーム塾-004

最後にこの当たり判定の簡単なチェックを行うために

プレイヤのプログラムを変更しています。


プレイヤのボタン入力の状態からプレイヤの進む方向の位置をXとYに代入し

当たり判定します。

もし当たっていれば移動処理を行いません。




入力が終わったらゲームをスタートしてください。

今回は敵との当たり判定がまだ不完全なので敵のすりぬけを起こして今いますが、

移動していないターゲット(色点滅しているキャラ)には当たり判定をし重なりません。