SDL2.0でのコンパイル方法を教えて頂きたいとおもいます。
私はSDL1.2でゲームを作っている素人の 星をみるねこ と申します。
制作中のゲームのウインドウサイズやフルスクリーン画面をちょうどいい大きさにするためには、SDL1.2からSDL2.0に移行する必要があると感じています。
(一度SDL1.2でウインドウサイズを二倍にしたところ、ピクセルごとに拡大する処理の関係上、どうにもバグが発生しました。)
ですので、SDL1.2からSDL2.0に移行するために試行錯誤を繰り返しましたが、どうにもうまくいきません。
SDL2.0でHello Worldのコンパイルから始めてみましたが、それすらもうまくいきませんでした。
検索して出てくるサイトのやり方はひととおり試したり、詳しい方のアドバイスも受けましたが、根本的な間違いがあるのかコンパイルが通りませんでした。
なので、改めて。
SDL2.0でのコンパイル方法に詳しいお方が居ましたら、教えて頂きたく思います。
最終的には送付するゲームが、SDL2.0でコンパイルを通るのを目標としています。
もちろんHello WorldのSDL2.0のコンパイル方法からでも非常に助かります。
ちなみに、私の環境はSDL&Microsoft Visual Studio .NET 2003のC++です。
参考資料としてゲーム付きの、全く整理されていない素人ソースコードを置いておきます。
RPG「ロマンシングステラバイザー v0.9」
http://yahoo.jp/box/ZithTU
よろしくお願い申し上げます。
SDL1.2からSDL2.0に移行するためのコンパイルの方法。
Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。
150504追記:詳しい方のアドバイスにより、Hello World的なシンプルなソースのコンパイルは通りました。どうもお騒がせしました。
改めて、送付したゲームがSDL2.0でコンパイルが通る方法を、教えて頂きたく思います。
よろしくお願い申し上げます。
改めて、送付したゲームがSDL2.0でコンパイルが通る方法を、教えて頂きたく思います。
よろしくお願い申し上げます。
Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。
聞く内容がアバウトすぎたので、細かい内容で再度お聞きいたします。
改めて、SDL1.2からSDL2.0へ移行しようと試行錯誤を繰り返しています。
SDL2.0で追加された命令のSDL_BLENDMODE_BLENDで、αブレンドの透明度指定ってどうやるのでしょうか?
SDL1.2ではαブレンドのみ可能でした。SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha);
前は指定する値が3つで、3つ目が透明度指定でしたので理解しやすかったのですが、SDL2.0での同じ働きをする命令は、指定する値が二つになっていて、よくわかりませんでした
日本語リファレンスには、SDL_BLENDMODE_BLENDはこう書かれています。
SDL_SetSurfaceBlendMode
コピー時のブレンドモードを設定する
構文
int SDL_SetSurfaceBlendMode(SDL_Surface* surface, SDL_BlendMode blendMode)。
とあります。そしてSDL_BLENDMODE_BLENDについては、
αブレンド dstRGB = (srcRGB * srcA) + (dstRGB * (1 - srcA))
dstA = srcA + (dstA * (1 - srcA))
と記されていました。
ただ、具体的に、どのように指定すれば、いいのか。
例えば、どのように記述すれば
画像をαブレンド透明度50%で設定する。
などの命令ができるのかが解りませんでした。
しばらく日本語リファレンスを読んで勉強してみます。
もし、SDL1.2から、SDL2.0に移行するための、命令の記述の違いに詳しいお方が居ましたら、力を貸していただきたく存じ上げます。
改めて、SDL1.2からSDL2.0へ移行しようと試行錯誤を繰り返しています。
SDL2.0で追加された命令のSDL_BLENDMODE_BLENDで、αブレンドの透明度指定ってどうやるのでしょうか?
SDL1.2ではαブレンドのみ可能でした。SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha);
前は指定する値が3つで、3つ目が透明度指定でしたので理解しやすかったのですが、SDL2.0での同じ働きをする命令は、指定する値が二つになっていて、よくわかりませんでした
日本語リファレンスには、SDL_BLENDMODE_BLENDはこう書かれています。
SDL_SetSurfaceBlendMode
コピー時のブレンドモードを設定する
構文
int SDL_SetSurfaceBlendMode(SDL_Surface* surface, SDL_BlendMode blendMode)。
とあります。そしてSDL_BLENDMODE_BLENDについては、
αブレンド dstRGB = (srcRGB * srcA) + (dstRGB * (1 - srcA))
dstA = srcA + (dstA * (1 - srcA))
と記されていました。
ただ、具体的に、どのように指定すれば、いいのか。
例えば、どのように記述すれば
画像をαブレンド透明度50%で設定する。
などの命令ができるのかが解りませんでした。
しばらく日本語リファレンスを読んで勉強してみます。
もし、SDL1.2から、SDL2.0に移行するための、命令の記述の違いに詳しいお方が居ましたら、力を貸していただきたく存じ上げます。
Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。
kiuri 様、ありがとうございます。教えて頂いたサイトなども参考にして地道に調べてみます。
Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。
詳しいお方のアドバイスにより、まずはコンパイルを通すことができました。
どうもありがとうございます。
どうもありがとうございます。