トップページ > 記事閲覧
描画対象を大回転させたい
名前:Wiruka 日時: 2013/09/03 01:57

いつもDXライブラリを楽しく使わせていただいてます、Wirukaと申します。 今回ひとつのレイヤー(あるいはキャンバス)を回転させるような処理を行いたいと思い MakeScreenでスクリーンサイズ以上の描画先を作り 描画を行った後裏画面にMakeScreenで作ったものを 回転描画してみたのですが、 MakeScreenではスクリーンサイズ以上の大きさには出来ないらしく、 結果は回転してはみ出た分4隅に黒い部分が残って 不自然なものになっていました。 何か他にレイヤーを回転させるような手段は無いでしょうか? 中心座標から描画先の値をいちいち計算する方法も考えられますが いまいちスマートではないように思えます。 よい方法ありましたら教えてくださいますようお願いします。
メンテ

Page: 1 |

Re: 描画対象を大回転させたい ( No.1 )
名前:管理人 日時:2013/09/05 14:01

以下のようなサンプルを組んで試してみましたが、画面サイズ以上の部分も正常に描画されていました #include "DxLib.h" #define SIZE (1024) int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int i ; int ScreenHandle ; float Angle ; ChangeWindowMode( TRUE ) ; if( DxLib_Init() == -1 ) return -1 ; ScreenHandle = MakeScreen( 1024, 1024, FALSE ) ; SetDrawScreen( ScreenHandle ) ; ClearDrawScreen() ; for( i = 0 ; i < SIZE; i += 8 ) { DrawBox( i, i, SIZE - i, SIZE - i, GetColor( 255,255,255 ), FALSE ) ; } SetDrawScreen( DX_SCREEN_BACK ) ; SetDrawMode( DX_DRAWMODE_BILINEAR ) ; Angle = 0.0f ; while( ProcessMessage() == 0 ) { ClearDrawScreen() ; Angle += DX_PI_F / 300.0f ; if( Angle > DX_TWO_PI_F ) { Angle -= DX_TWO_PI_F ; } DrawRotaGraph( 320, 240, 1.0f, Angle, ScreenHandle, FALSE ) ; ScreenFlip() ; } DxLib_End() ; return 0 ; } 以前のバージョンで発生していたバグかもしれませんので、よろしければこちらの最新バージョンを お使いになってみてください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) 因みに MakeScreen で作成した画面をレイヤーのように使用する場合は上記のバージョンから 使用できるようになった「乗算済みアルファ」という機能を使用されることをお勧めします 「乗算済みアルファ」についてはこちらで解説していますので、よろしければご覧ください http://homepage2.nifty.com/natupaji/DxLib/lecture/PremulAlpha/PremulAlpha.html
メンテ
Re: 描画対象を大回転させたい ( No.2 )
名前:Wiruka 日時:2013/09/10 22:55

>>管理人様 返信ありがとうございます。またいつも更新お疲れ様です。 おかげさまで思い通りの処理ができました。 ありがとうございます
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存