~自機の移動範囲を制限する~
前回のプログラムだと、自機が画面の外まで飛んで行ってしまうので、移動範囲に制限をつけました。
自機のサイズは64×64ドット、画面サイズは640×480ドット。
X、Y座標共に、マイナス方向は0以下になったら0に、プラス方向は画面サイズ-64以上になったら、画面端から64引いた位置に補正するようにプログラムを追加します。
ここで問題が、自機は左右方向は64ドット幅いっぱいに描いたので問題ないのですが、縦方向は使用されていない空白幅が存在します。
画面サイズから64ドットで補正すると上下方向には、まだ移動できそうな隙間が出来てしまうのです。
これを直すには、自機の画像データを縦幅いっぱいいっぱいになるようにサイズ変更するか、補正をかけるポイントを変更するしかないでしょう。
僕は楽な方、つまり後者を選びました。
自機の画像データを見て、上下方向の隙間のドット数を確認し、それに合わせて「画面端にきましたよ」って判断する座標をずらしたわけです。

ソースはこんな感じ。
自機移動関数のみの変更です。
操作に対して、座標を加減した後、その座標(自機)が画面外に出ていないか判断し補正する if 文を付け加えています。
前回のプログラムだと、自機が画面の外まで飛んで行ってしまうので、移動範囲に制限をつけました。
自機のサイズは64×64ドット、画面サイズは640×480ドット。
X、Y座標共に、マイナス方向は0以下になったら0に、プラス方向は画面サイズ-64以上になったら、画面端から64引いた位置に補正するようにプログラムを追加します。
ここで問題が、自機は左右方向は64ドット幅いっぱいに描いたので問題ないのですが、縦方向は使用されていない空白幅が存在します。
画面サイズから64ドットで補正すると上下方向には、まだ移動できそうな隙間が出来てしまうのです。
これを直すには、自機の画像データを縦幅いっぱいいっぱいになるようにサイズ変更するか、補正をかけるポイントを変更するしかないでしょう。
僕は楽な方、つまり後者を選びました。
自機の画像データを見て、上下方向の隙間のドット数を確認し、それに合わせて「画面端にきましたよ」って判断する座標をずらしたわけです。
ソースはこんな感じ。
自機移動関数のみの変更です。
操作に対して、座標を加減した後、その座標(自機)が画面外に出ていないか判断し補正する if 文を付け加えています。
PR
この記事にコメントする
- ABOUT
やってやれないことはないっ!たぶん・・・
- カレンダー
04 | 2025/05 | 06 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
- プロフィール
HN:
Call my name
年齢:
50
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
はい。
- ブログ内検索
- カウンター
- アクセス解析