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

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

アーケードの縦STGは殆どの作品が左右にもスクロールします。
それを実装してみました。
プロジェクトファイルはコチラ↓
http://file.ktstg.blog.shinobi.jp/ship01_8.zip
s-WS000355.jpg
見た目は全く変わってませんが、左右に移動すると敵や敵弾も左右に移動します。
実装方法としては、左右を押した時に他のキャラを移動させる為の変数を作って
移動させているだけです。
ただ、斜め移動の場合は左右の移動速度が遅くなるので、その分遅く移動させなければならないと思い
遅くなるように作ってみたのですが、逆に挙動がおかしく感じたので、単純に左右のみで
移動させるようにしてみました。
でも、そうすると背景が段々とずれてくるので、どういうふうに実装したらよいのか悩み中です。
とりあえず、色んな縦STGを研究してみます^^;

それとは別に、ちょっと問題が出てきて、構造体の変数の数を増やすとちゃんとプログラムが
動いてくれなくなりました・・・
具体的には
typedef struct{//敵構造体
int ef;//有無
int img;//画像用
int e_time;//生成時間
int e_sizex;//画像の大きさ
int e_sizey;//画像の大きさ
int e_life;//体力
double ex,ey,emx,emy;//座標、移動量
}enemy_t;

と書いている場合はOKなのに

typedef struct{//敵構造体
int ef;//有無
int img;//画像用
int e_time;//生成時間
int e_sizex;//画像の大きさ
int e_sizey;//画像の大きさ
int e_life;//体力
int eb_time;//爆破時間
double ex,ey,emx,emy;//座標、移動量
}enemy_t;

このような感じでint eb_time;と言う変数(変数の名前は何を使っても同じ)を増やすだけで
プログラムが起動はするのですが挙動がおかしくなってしまいます。
変数を増やしただけで何故???と言った感じですが、いくら考えてもわからないので
もう寝ます(汗)

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
キャラを左右に移動するのではなく、表示領域を移動させて、キャラクタ表示時に反映させるのが一般的だと思います。
DispChar(enemy->x + view->x, enemy->y + view->y);
みたいな。
通りすがり 2009/04/16(Thu)01:01:41 編集
無題
通りすがりさん>
なるほど、表示する領域で考えるんですね。表示領域を移動させる感じで考えてみます。
アドバイス有難う御座いますm(_ _)m
kt. 2009/04/17(Fri)15:05:25 編集
この記事へのトラックバック
この記事にトラックバックする:
カウンター
ゲーマータグ
Twitter
携帯百景
カレンダー
09 2017/10 11
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/24 kt.]
[11/24 kt.]
[11/24 NONAME]
[11/23 NONAME]
[10/05 tejas]
プロフィール
HN:
kt.
HP:
性別:
男性
自己紹介:
STG大好きな40歳。
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
アクセス解析
忍者ブログ [PR]