[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
タスクシステムを使って簡単なプログラムを作ろうと思って、まずは自機移動と
背景表示を追加してみました。
背景を2重スクロールさせて自機を表示し、3種類の敵弾を表示させています。
ダウンロードはコチラ↓
弾幕と自機表示プログラム
まず自機についてですが、以前にも書いたように自機が斜めに動くときのスピードは
縦横に動く時のスピードよりもルート2倍速く動いてしまうので、その分遅く動かさなければなりません。
ルート2は約1.41なので、その逆数の0.71をかければ良いやって事で↓こんな感じで書いてます。
*******************************************************
int xv=0;
int yv=0;
double move=4.0;
if( Buf[ KEY_INPUT_LEFT ] == 1 )
xv=-1;
if( Buf[ KEY_INPUT_RIGHT ] == 1 )
xv=1;
if( Buf[ KEY_INPUT_UP ] == 1 )
yv=-1;
if( Buf[ KEY_INPUT_DOWN ] == 1 )
yv=1;
if( xv!=0 && yv!=0 ) move=move*0.71;//斜め移動時はルート2の逆数を掛ける
work->X = xv*move+work->X;
work->Y = yv*move+work->Y;
DrawGraph( work->X,work->Y , jiki[work->R] , TRUE ) ;//自機を表示
*******************************************************
ボタン検出用の変数を用意して、縦横共にボタンが押されていたら0以外が返ってくるので
その時は移動速度moveに0.71をかけるようにしてみました。
背景は普通に表示して下に移動させて画面下まで来たら元の位置に戻るようにしています。
この処理も座標や移動速度を引数として渡せるようにしたので、関数は1種類なのですが
色んなスピードで表示させる事が出来ました^^
それにしてもタスクシステムはとっても便利な気がします。最初の設計をしっかり作っていれば
後はゲーム作製に集中出来そうな感じですね~。
まぁ、でもその設計をするのが、非常に大変なんですよね・・・
とりあえず、簡単な敵をランダムで出現させて、自機弾を表示させて、当たり判定を行って
爆発させるような物を目指して作製中です。
10 | 2024/11 | 12 |
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 |
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!