ページ 11

初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:01
by toni
初めまして、C言語初心者のtoniです。
早速ですが、館の「入門編」と「ゲーム基本」編に登場している
「透過処理した画像を表示」と「行けないところを作る2D」の質問ですが、
この両方のプログラムを実行させたい場合、どのようにコードを繋げれば宜しいでしょうか?
教えていただけると助かります。

返答お待ちしております。

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:13
by シエル
「行けないとこを作る」のコードで既に、透過処理をした画像の表示も行われておりますが…

具体的にどう分からないかを明確にしていただけると助かります。

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:17
by toni
「行けないとこを作る」でどこが透過処理した画像を表示したコードの部分なのか判らないので
そこを教えていただけると幸いです。
透過処理した画像でつかった画像を使いたいんです。

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:20
by シエル
DrawGraph( ch.x , ch.y , ch.img , TRUE )

コードで言うと↑の部分です。

この第四引数をTRUEにすれば透過処理されます。
デフォルトでは、透過処理されるのは、限りなく黒に近い色か、画像に予め透過処理をしてある部分です。

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:28
by toni
DrawGraph( ch.x , ch.y , ch.img , TRUE )

この部分を使いたい画像を引き出すように書き換えればいいんですか?

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:32
by シエル
int LoadGraph( char *FileName )
まず↑この関数で読み込みたいファイル名を指定して、読み込むと、
グラフィックハンドルというものが返ってきます。

そのハンドルを
DrawGraph( ch.x , ch.y , ch.img , TRUE ) の
第3引数に指定して、第四引数をTRUEにすると、透過処理されます。
一度やってみましょう。

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:34
by toni
説明が下手なので整理すると

「行けない所を作る2D」のコードで背景は白黒ですよね、
これを「透過処理をした画像を表示」でつかったオレンジ色の背景に替えたいんです。
言葉足らずでしたらすみません;;

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:34
by toni
試してみます@w@ノ

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:43
by toni
int LoadGraph( char *FileName )

でたとえば back.bmpを参照したかったらどう打ち込めばいいでしょうか・・・
ほんとすみません(T T)

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:44
by シエル
オレンジ色の背景にしたければ、↓のように
白い壁を描画する前にオレンジ色の背景を描画するようにしてあげれば
良いです。
こうすれば、白い壁の部分以外はオレンジ色になります。

LoadGraphScreen( 0 , 0 , "back.bmp" , FALSE ) ;//オレンジ壁描画
/*白い壁を描画*/
for(i=0;i<15;i++)
for(j=0;j<20;j++)
if(hantei[j]==1)
DrawBox(j*32,i*32,(j+1)*32,(i+1)*32,GetColor(255,255,255),TRUE);
画像

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:46
by toni
おおっ試してみます!

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:46
by シエル
>int LoadGraph( char *FileName )
>↑
>でたとえば back.bmpを参照したかったらどう打ち込めばいいでしょうか・・・
>ほんとすみません(T T)

LoadGraph("back.bmp");
でいいです。

Re:初歩的な質問ですが・・・

Posted: 2010年6月30日(水) 13:56
by toni
おおっ、シエルさんできましたありがとうございます!
やっと一歩前進出来た気がします;w;