ページ 11

喰らいボムのエフェクト表示について

Posted: 2015年1月06日(火) 23:23
by にけ
龍神録23章の「喰らいボムを作ってみよう」で疑問な部分があったので質問させていただきます。
内容になりますが、graph.cpp内のgraph_main関数内にある

graph_effect(4);//喰らいボムのエフェクト

というのはgraph_effect(int knd)関数のint kndに4を代入するということでよろしいのでしょうか。
C言語は学校の授業等で9か月くらいやって、現在はファイル入出力あたりを行っています。DXライブラリは半年くらいで、時間があるときにおこなっています。C言語やDXライブラリ等、初心者のため分からないことが多いですが、少しずつ理解していこうとおもっています。
ソースコードなど読みづらくなってしまい大変恐縮ですが、どなたか解説よろしくお願いいたします。

コード:

void graph_effect(int knd){
	for (int i = 0; i < EFFECT_MAX; i++){
		if (effect[i].flag>0 && effect[i].knd==knd){
			if (effect[i].eff == 1)//エフェクトが光エフェクトなら
				SetDrawBlendMode(DX_BLENDMODE_ADD, effect[i].brt);//拡大、縮小用コマンド
			if (effect[i].eff == 2)//エフェクトがαエフェクトなら
				SetDrawBlendMode(DX_BLENDMODE_ALPHA, effect[i].brt);
             DrawRotaGraphF(effect[i].x+FIELD_X+dn.x,effect[i].y+FIELD_Y+dn.y,effect[i].r,effect[i].ang,effect[i].img,TRUE);
			if (effect[i].eff == 1 || effect[i].eff ==2)
				SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 0);
		}
	}
}

void graph_main() {

	if (bright_set.brt != 255)SetDrawBright(bright_set.brt, bright_set.brt, bright_set.brt);

    graph_back_main();//背景描画メイン
	graph_effect(0);//敵が死ぬエフェクト graph_effect()関数を入れないとエフェクトが動かない

	if (bright_set.brt != 255)SetDrawBright(255, 255, 255);//setdrawbright(だんだん明るくor暗くする,RGBになっている)

	graph_effect(4);//喰らいボムのエフェクト

	if (bright_set.brt != 255)SetDrawBright(bright_set.brt,bright_set.brt,bright_set.brt);

	graph_enemy();//敵の描画
	graph_cshot();//自機ショットの描画

	if (bright_set.brt != 255)SetDrawBright(255, 255, 255);

	graph_ch();//自機の描画

	if (bright_set.brt != 255)SetDrawBright(bright_set.brt, bright_set.brt, bright_set.brt);

	graph_bullet();//弾の描画

	if (bright_set.brt != 255)SetDrawBright(255, 255, 255);
	

	graph_effect(1);//ボムのエフェクト
	graph_effect(2);//ボム線のエフェクト
	graph_effect(3);//ボムキャラのエフェクト
	graph_board();//ボードの描画
	
	
}


Re: 喰らいボムのエフェクト表示について

Posted: 2015年1月07日(水) 13:38
by softya(ソフト屋)
> というのはgraph_effect(int knd)関数のint kndに4を代入するということでよろしいのでしょうか。

その認識であっています。代入です。

Re: 喰らいボムのエフェクト表示について

Posted: 2015年1月07日(水) 20:09
by nike
> というのはgraph_effect(int knd)関数のint kndに4を代入するということでよろしいのでしょうか。

>その認識であっています。代入です。

softya様、回答ありがとうございます。
graph_effect(4)の役割を理解できたので、龍神録23章の喰らいボムをうまく出せるようにソースコードを理解していきたいと思います。
本当にありがとうございました。

Re: 喰らいボムのエフェクト表示について

Posted: 2015年1月07日(水) 21:57
by Dixq (管理人)
ソースコードを見やすくしておきました。
codeタグはデフォルトでC++なので、言語は何も指定せずcodeタグで囲むだけで大丈夫ですよ。