トップページ > 過去ログ > 記事閲覧
RPGのマップの描画について
名前:海月 日時: 2011/05/02 02:35

現在、RPGを製作中なのですが、 1つ困ったことがあります。 現在マップをマップチップをコピーして表示させることができているのですが、 スクロールがまだできていません。 そこで、一旦別のグラフィックハンドルにマップ全体を 描画してから、その一部分をコピーすることで スクロールを実現しようと思っています。 ですが、グラフィックハンドルの内容を別のグラフィクハンドルに コピーしたり描画したりする関数が見当たりません。 私が見落としているだけなのでしょうか? ご教授お願いします。

Page: 1 |

Re: RPGのマップの描画について ( No.1 )
名前:いっち 日時:2011/05/02 20:39

DrawRectGraph で出来ると思います。
Re: RPGのマップの描画について ( No.2 )
名前:海月 日時:2011/05/02 21:01

すでにDrawRectGraphを使用して描画しています。 私がしたいのは、あるグラフィックハンドルをMakeGraph関数などで作成して、 そのグラフィックハンドルを描画対象にして、 別のグラフィックハンドルの内容の一部をコピーしたいということです。
Re: RPGのマップの描画について ( No.3 )
名前:いっち 日時:2011/05/02 21:21

勘違いでしたらすみません。 以下のような処理をお望みなのではないのでしょうか? //- 以下、テストコード ("test1.bmp"を使用) -// #include "DxLib.h" int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { ChangeWindowMode( TRUE ); if ( DxLib_Init( ) == -1 ) return -1; int Color = GetColor( 255, 255, 255 ); int gh1 = MakeScreen( 200, 200 ); // <- あるグラフィックハンドル int gh2 = LoadGraph( "test1.bmp" ); // <- 別のグラフィックハンドル SetDrawScreen( gh1 ); // <- 描画対象にする DrawBox( 0, 0, 200, 200, Color, TRUE ); DrawRectGraph( 75, 75, 50, 50, 50, 50, gh2, TRUE, FALSE ); // <- 内容の一部をコピーする SetDrawScreen( DX_SCREEN_BACK ); while ( ProcessMessage( ) == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) { ClearDrawScreen( ); DrawGraph( 0, 0, gh1, TRUE ); ScreenFlip( ); } DxLib_End( ); return 0; }
Re: RPGのマップの描画について ( No.4 )
名前:海月 日時:2011/05/02 22:34

うーん…うまくいきません。 SetDrawScreen関数ってグラフィックハンドルも、 描画先に指定することができるのでしょうか?
Re: RPGのマップの描画について ( No.5 )
名前:いっち 日時:2011/05/02 22:44

> うーん…うまくいきません。 ( No.3 )のテストコードがうまく動作しないということでしょうか? > SetDrawScreen関数ってグラフィックハンドルも、描画先に指定することができるのでしょうか? MakeScreen で作成したグラフィックハンドルであれば可能です。
Re: RPGのマップの描画について ( No.6 )
名前:海月 日時:2011/05/02 23:10

できました! お手数かけました。

Page: 1 |