SDL1.2からSDL2.0に移行するためのコンパイルの方法。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
星をみるねこ
記事: 12
登録日時: 10年前
連絡を取る:

SDL1.2からSDL2.0に移行するためのコンパイルの方法。

#1

投稿記事 by 星をみるねこ » 10年前

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

よろしくお願い申し上げます。

星をみるねこ
記事: 12
登録日時: 10年前
連絡を取る:

Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。

#2

投稿記事 by 星をみるねこ » 10年前

150504追記:詳しい方のアドバイスにより、Hello World的なシンプルなソースのコンパイルは通りました。どうもお騒がせしました。

改めて、送付したゲームがSDL2.0でコンパイルが通る方法を、教えて頂きたく思います。

よろしくお願い申し上げます。

星をみるねこ
記事: 12
登録日時: 10年前
連絡を取る:

Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。

#3

投稿記事 by 星をみるねこ » 10年前

聞く内容がアバウトすぎたので、細かい内容で再度お聞きいたします。
改めて、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に移行するための、命令の記述の違いに詳しいお方が居ましたら、力を貸していただきたく存じ上げます。

kiuri
記事: 20
登録日時: 12年前

Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。

#4

投稿記事 by kiuri » 10年前

こちらは参考になりませんか?

公式wikiでも下の方に「The texture alpha is affected based on its alpha modulation set by SDL_SetTextureAlphaMod().」と書いてあります。

P.S.
SDLを使ったこともないし、アルファブレンドの原理も知らなかったのでさっきググったレベルの人間による回答ですので聞き流す、あるいはご自身でこれ以上を調べることをおすすめします。

星をみるねこ
記事: 12
登録日時: 10年前
連絡を取る:

Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。

#5

投稿記事 by 星をみるねこ » 10年前

kiuri 様、ありがとうございます。教えて頂いたサイトなども参考にして地道に調べてみます。

星をみるねこ
記事: 12
登録日時: 10年前
連絡を取る:

Re: SDL1.2からSDL2.0に移行するためのコンパイルの方法。

#6

投稿記事 by 星をみるねこ » 10年前

詳しいお方のアドバイスにより、まずはコンパイルを通すことができました。
どうもありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る