画像(logo)

HOME/[C言語DXライブラリ]STGの作り方 目次/十七日目 背景の敵

広告

[C言語 DXライブラリ STGの作り方]
十七日目 背景の敵

広告

↓発売日:2018年09月22日↓

たった1日で基本が身に付く! C言語 超入門

新品価格
¥2,225から
(2018/10/8 23:10時点)

目次へ戻る

背景の動きと背景の敵

今回は地上に固定されている砲台のような背景にとどまっている敵を作りたいと思います。

と言っても今までのままだとただ直線にy座標を背景と同じだけ変化させればいいだけなので、もう少し変化を加えるべく昔のSTGを意識した左右の動きも背景に取り入れたいと思います。

背景の動き

では、まずはプレイヤーの左右の移動に応じて背景も少し動かします。

事前準備として左右に動かした時に背景が切れてしまわないように今まで上下2枚張り合わせていた背景を合計4枚に増やしてその中心に表示される画面が来るようにします。

画像(cdxs_17_1)

こんな感じです。

そして背景y座標の「back_img_y」に加えてx座標にあてる変数を用意します。

double back_img_x;

そして上の画像のように背景を配置しなおします。

back_img_x = -220;
back_img_y = 0;

void my_draw_back(){
	DrawGraph(back_img_x, back_img_y, back_img, TRUE);
	DrawGraph(back_img_x + 440, back_img_y, back_img, TRUE);
	DrawGraph(back_img_x, back_img_y - 480, back_img, TRUE);
	DrawGraph(back_img_x + 440, back_img_y - 480, back_img, TRUE);
	DrawLine(0, 240, 440, 240, Color_White);
	DrawLine(220, 0, 220, 480, Color_White);
	DrawFormatString(220, 240, Color_White, "(0,0)");
}

これで事前準備完了です。

あとはプレイヤーの移動に合わせて左右に背景が動くように「my_move_back()」内でキー入力に応じて「back_img_x」を変化させます。

void my_move_back(){
	if (key[KEY_INPUT_RIGHT] >= 1 && p1.x < RIGHT_LIMIT && game_state == 20){
		back_img_x -= 0.5f;
	}
	if (key[KEY_INPUT_LEFT] >= 1 && p1.x > LEFT_LIMIT && game_state == 20){
		back_img_x += 0.5f;
	}
	back_img_y += back_img_speed;
	if (back_img_y > 480){
		back_img_y = 0;
	}
}

これで背景のささやかな動きは完了です。

背景の敵

では今回のテーマの背景の敵の動きですが、背景と同じように座標を変化させればよいだけなのでとても簡単です。

「my_move_enemy()」の「case 9」です。

初期化部分

if (enemy[i].init_flag == 0){
	enemy[i].x = enemy[i].first_x;
	enemy[i].y = enemy[i].first_y;
	enemy[i].gamecount_point = gamecount;
	enemy[i].init_flag = 1;
}
else{
	/*移動部分*/
}

座標を設定しているだけなのでとくに説明はいらないですね。

移動部分

if (key[KEY_INPUT_RIGHT] >= 1 && p1.x < RIGHT_LIMIT){
	enemy[i].x -= 0.5f;
}
if (key[KEY_INPUT_LEFT] >= 1 && p1.x > LEFT_LIMIT){
	enemy[i].x += 0.5f;
}
enemy[i].y -= back_img_speed;

背景と同じように動かすだけです!

画像(cdxs_17_2)

背景の敵が現れました!

ここまでの中間ソースになります。

中間ソース16

次回は今までの動きを組み合わせたりして少し複雑な敵の動きを追加したいと思います。

次回

十八日目 敵の動きを追加2

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓発売日:2016年02月29日↓

12歳からはじめる ゼロからのC言語 ゲームプログラミング教室

新品価格
¥2,462から
(2018/10/8 23:25時点)

↓発売日:2018年06月22日↓

スッキリわかるC言語入門

新品価格
¥2,916から
(2018/10/8 23:15時点)

↓発売日:2018年03月09日↓

C言語本格入門 ~基礎知識からコンピュータの本質まで

新品価格
¥3,218から
(2018/10/8 23:16時点)

↓発売日:2017年06月14日↓

やさしいC 第5版 (「やさしい」シリーズ)

新品価格
¥2,700から
(2018/10/8 23:17時点)

↓発売日:2018年05月21日↓

作って身につく C言語入門

新品価格
¥2,462から
(2018/10/8 23:18時点)

↓発売日:2017年12月07日↓

新・標準プログラマーズライブラリ C言語 ポインタ完全制覇

新品価格
¥2,678から
(2018/10/8 23:19時点)

↓発売日:2017年02月08日↓

新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,700から
(2018/10/8 23:20時点)

↓発売日:2017年09月26日↓

かんたん C言語 [改訂2版] (プログラミングの教科書)

新品価格
¥2,916から
(2018/10/8 23:22時点)