忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

タスクシステムを使って簡単なプログラムを作ろうと思って、まずは自機移動と
背景表示を追加してみました。
s-WS000179.jpg
背景を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種類なのですが
色んなスピードで表示させる事が出来ました^^

それにしてもタスクシステムはとっても便利な気がします。最初の設計をしっかり作っていれば
後はゲーム作製に集中出来そうな感じですね~。
まぁ、でもその設計をするのが、非常に大変なんですよね・・・

とりあえず、簡単な敵をランダムで出現させて、自機弾を表示させて、当たり判定を行って
爆発させるような物を目指して作製中です。

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
逆数かけるなんてややこしい考え方しなくても、たんにルート2で割ればいいのでは?
というか、逆数かけるってのは割るってことでは。

x*(1/y) == x/y
NONAME 2008/12/11(Thu)21:50:33 編集
無題
NONAMEさん>
sqrtを使って計算してやれば良い気もしたのですが、イマイチ方法が思いつかなかったので、以前調べた方法で実装してるんですよ。
今の所、上手く動いているようなので、不具合が出るようだったら変更してみますね。
アドバイスありがとうございますm(_ _)m
kt. 2008/12/12(Fri)02:40:57 編集
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
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
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]