ページ 11

たびたび失礼します

Posted: 2009年9月28日(月) 23:14
by ft
龍神録38章のタイトル描画ですが、
手を加えてタイトルを上からスーっと降ろして
あるところで止めようかと思い以下のように組みました。
//タイトルの表示
void graph_stage_title(){
	int i=0;
	if(stage_title.flag>0){
		 for(i=0;i<300;i++){ 
		SetDrawScreen( DX_SCREEN_BACK ) ;
		SetDrawBlendMode( DX_BLENDMODE_ALPHA, stage_title.brt );
		DrawGraph(60+FX,-10+FY+(i/2)+dn.y,stage_title.img,TRUE);
		 }
		SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0 );
	}
}
このようにした場合ゲームプログラミングの館「12. 画像を動かす。」のように
残像が残ってしまいます。
そこで次章のように裏処理をしたら今度はすべての画像が消えてしまいます。
この場合どのようにしたら良いのでしょうか?

Re:たびたび失礼します

Posted: 2009年9月29日(火) 00:41
by Dixq (管理人)
メッセージ処理や画面を消す処理、裏画面を反映する処理などがありません。
300回一瞬で上書きして終了しています。
また、描画先を設定する関数SetDrawScreenは何度も呼ぶ必要がありません。

しかし、このループ内にそれらの処理を書くべきではありません。

まず、DXライブラリの基本的な使い方を学ばれてからの方がわかりやすいと思います。

書いたら消す必要があり、消す関数はClearDrawScreenです。
書いた裏画面を表に反映する為にはScreenFlipが必要です。

まずはゲームの館を一通りご覧になり、DXライブラリ本家のほうも一通りお読みになることをお勧めします。

また、タイトルは質問の内容がわかるような名前を付けて頂けると幸いです。

Re:たびたび失礼します

Posted: 2009年9月29日(火) 01:35
by ft
なんか勘違いしていたようで、
希望通りの動作を得ることができました!

タイトルの方もすみませんでした、以後気をつけます。