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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
にけ

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

#1

投稿記事 by にけ » 10年前

龍神録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();//ボードの描画
	
	
}


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#2

投稿記事 by softya(ソフト屋) » 10年前

> というのはgraph_effect(int knd)関数のint kndに4を代入するということでよろしいのでしょうか。

その認識であっています。代入です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

nike
記事: 2
登録日時: 10年前

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

#3

投稿記事 by nike » 10年前

> というのはgraph_effect(int knd)関数のint kndに4を代入するということでよろしいのでしょうか。

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

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

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

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

#4

投稿記事 by Dixq (管理人) » 10年前

ソースコードを見やすくしておきました。
codeタグはデフォルトでC++なので、言語は何も指定せずcodeタグで囲むだけで大丈夫ですよ。

閉鎖

“C言語何でも質問掲示板” へ戻る