画像(logo)

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

広告

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

広告

↓2016年02月29日発売↓

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

目次へ戻る

背景の動きと背景の敵

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

と言っても今までのままだとただ直線に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□

広告

↓2017年06月16日発売↓

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

新品価格
¥2,700から
(2017/5/1 13:05時点)

↓2014年08月09日発売↓

新・明解C言語 入門編 (明解シリーズ)

新品価格
¥2,484から
(2017/5/1 13:08時点)

↓2016年02月20日発売↓

新・解きながら学ぶC言語

新品価格
¥2,160から
(2017/5/1 13:10時点)

↓2017年02月11日発売↓

C言語プログラミング基本例題88 88

新品価格
¥3,024から
(2017/5/1 13:12時点)

↓2016年12月15日発売↓

Cの絵本 第2版 C言語が好きになる新しい9つの扉

新品価格
¥1,490から
(2017/5/1 13:13時点)

↓2017年02月08日発売↓

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

新品価格
¥2,700から
(2017/5/1 13:15時点)