SDLスレ ver.2.0at GAMEDEV
SDLスレ ver.2.0 - 暇つぶし2ch185:名前は開発中のものです。
07/08/15 00:34:53 4BjrTEfx.net
違う人だけど答えます
printfの出力先は"stdout"ってのは常識ですよね?(俺もまちがってるかも)
で、windowsのSDLではこの"stdout"ってのは[stdout.txt]とイコールなわけです。
だから、printfは[stdout.txt]に出力するようになっているわけです。

だから、このプログラムはもし、何かしらのキーが押された場合に、[stdout.txt]に

キーが押されました

と、書き込むプログラムなわけです。
要は、SDLのイベントの処理の仕方を説明したプログラムです


なんだか、いろいろ勘違いされてるみたいですが、SDLにウィンドウに文字列を描画する、WinAPIでいうところのTextOutのような関数は存在しません。
もし、ウィンドウに文字列を描画したいなら皆さんが言うようにSDL_ttfや、SDL_kanjiなどを使うか、
自分でbitmapを用意して、それを描画しなくてはなりません

というより、stdoutとか理解してますか?
SDL以前にCがあやふやではないですか

186:名前は開発中のものです。
07/08/15 00:43:15 1oZuV42R.net
たぶん>>185の言っていることの一割も理解してないんじゃないかと

187:名前は開発中のものです。
07/08/15 00:59:57 82FrRuTB.net
多分分かってるのは「違う人」だけだと思う

188:違う人
07/08/15 01:01:08 4BjrTEfx.net


189:違う人
07/08/15 01:02:11 4BjrTEfx.net
すまん、誤爆、、、

>>187
どこか、間違ってますか?できれば教えてもらいたいのですが、、、
こんな長文書いといてなんですが、自分もC

190:違う人
07/08/15 01:04:34 4BjrTEfx.net
は結構微妙なんで


てか、すみません
なんか、ビューワの調子が、、、

191:168
07/08/15 01:31:47 PDGC0i0E.net
>>185>>要は、SDLのイベントの処理の仕方を説明したプログラムです
完璧理解しました、簡単なことでしたね。
どうもありがとうございます。

みなさん親切にどうもありがとうございました。

192:名前は開発中のものです。
07/08/15 01:41:12 9feGd8Aj.net
簡単なことでしたね、じゃない。捨て台詞みたいでちょっと感心しないな。
お前には難しかったんだろ。

193:名前は開発中のものです。
07/08/15 01:53:08 wraMEEur.net
まぁまぁ。俺も同じこと書きそうになったけど。

194:名前は開発中のものです。
07/08/15 11:01:47 OErOo2Dx.net
っていうかVC++2005EEでもbcc+devでもビルド設定でコンソールアプリケーションに指定したら普通にでるよ
処理止めないとすぐ消えるけど

195:名前は開発中のものです。
07/08/15 13:24:53 4BjrTEfx.net
>194
いわれてみれば、確かにw
思いつきもしなかった

196:名前は開発中のものです。
07/08/18 23:57:30 NM/B7TGH.net
if( g_WindowActive ){ // ウィンドウがアクティブかどうか
move();
  draw();
} else {
SDL_WaitEvent(&g_Event);
}
if(!PollEvent()){ // SDL_PollEventでイベント処理
break;
}
こんな感じでウィンドウがアクティブのときは動いて、
非アクティブのときは止まっているようにしたいんですけど、
ウィンドウが完全に見えている状態で非アクティブからアクティブになっても
止まったままなんです。
非アクティブのときにCPU使わないようにしようとWaitEvent入れたらこうなりました。
どうすれば対処できますか?

197:名前は開発中のものです。
07/08/19 01:32:06 ddUge9Ur.net
>>196
そもそもアクティブ/非アクティブの状態の取得をどうやってる?
完全に想像だから間違ってたらすまんが、SDL_APPACTIVEは最小化されてるorされてないしか判定しない。
フォーカスの有無ならSDL_APPINPUTFOCUS

198:196
07/08/19 16:58:00 87LzenFa.net
>>197
PollEvent()内で、このような処理をしています。(ほかのイベントは省略しています)
while(SDL_PollEvent(&g_Event)){
switch(g_Event.type){
case SDL_ACTIVEEVENT:
if( (g_Event.active.state & SDL_APPINPUTFOCUS || g_Event.active.state & SDL_APPACTIVE) && g_Event.active.gain == 0 ){
g_WindowActive = false;
}
if( (g_Event.active.state & SDL_APPINPUTFOCUS || g_Event.active.state & SDL_APPACTIVE) && g_Event.active.gain == 1 ){
g_WindowActive = true;
}
break;
}
}

最小化からの復帰と別ウィンドウからフォーカスが移って再描画されるときはまた動き出すのですが
ウィンドウが完全に見えているときのフォーカスの変化に反応してくれないんです。

199:名前は開発中のものです。
07/08/19 17:23:23 39ZqT3vu.net
>>196
SDL_WaitEvent() で拾ったイベントを捨ててるからだろ…

200:196
07/08/19 20:42:20 87LzenFa.net
SDL_WaitMessage()のあとにもイベント処理をはさむようにしたらうまくいきました。
どうもありがとうございます。

201:名前は開発中のものです。
07/09/01 16:14:39 uj+9umUP.net
先生!SDL_AddTimerが0しか返してくれやがりません><

202:名前は開発中のものです。
07/09/01 16:29:18 4VIN7FZV.net
>>201
エスパーすると SDL_Init() に SDL_INIT_TIMER を渡してないんだろう

203:名前は開発中のものです。
07/09/01 16:30:04 uj+9umUP.net
ごめんなさいSDL_InitにSDL_INIT_TIMER渡してないだけでしたごめんなさい

204:名前は開発中のものです。
07/09/01 22:08:46 3oMJBmXZ.net
美しすぎる流れに完敗

205:名前は開発中のものです。
07/09/01 22:35:48 3R+RRVDL.net
久々にいいモン見れた
今日は夢に美少女が出てくるに違いない

206:名前は開発中のものです。
07/09/06 00:56:52 4VpwTJkO.net


207:名前は開発中のものです。
07/09/06 01:00:03 4VpwTJkO.net
質問です。SDL_VIDEORESIZEが送られてくるタイミングっていつですかね?

208:名前は開発中のものです。
07/09/06 01:52:03 ernuANIp.net
SDL_SetVideoMode()で SDL_RESIZABLE を渡してウィンドウ作って
そのウィンドウをリサイズしたときじゃね?

209:名前は開発中のものです。
07/09/06 02:51:05 4VpwTJkO.net
ごめんなさい間違えた。SDL_VIDEOEXPOSEです。

210:名前は開発中のものです。
07/09/06 04:18:37 ernuANIp.net
>>209
Windowsとかだと普通にウィンドウが表示されたときや隠れたウィンドウが表に出たときに
飛んでくると思うけどXだと全然こなかったりするね…

あとは別スレッドでデータ更新してメインスレッドで描画する場合に別スレッドから
自前で SDL_PushEvent() で送ってやるときとかに使うこともあるかな…

211:名前は開発中のものです。
07/09/06 07:44:32 RdypgvEp.net
X の場合 GL と併用しない限り送られてこないと思う。
Windows の場合は WM_ERASEBKGND のタイミング。

212:名前は開発中のものです。
07/09/06 18:25:11 4VpwTJkO.net
ありがとうございます。
SDL_PushEvent() を使えばInvalibateRect()のように
SDL_VIDEOEXPOSEを送ることができますか?

213:名前は開発中のものです。
07/09/06 18:39:27 1+3n0mte.net
>>212
あんな感じで使える。
でもSDL_ExposeEvnet には範囲がないから範囲指定はできない。

214:名前は開発中のものです。
07/09/07 08:53:04 D9hBhXmU.net
ありがとうございます。
ちょっと調べてきます

215:名前は開発中のものです。
07/09/07 17:11:45 I6GZEsDZ.net
しかしゲームだと毎フレーム描画することが多いのであまり使われる機会はないよなぁ…
ツールとかなのかな?

216:名前は開発中のものです。
07/09/07 18:42:29 43uHszUC.net
Wizのような疑似3DRPGやADVならアリかもしれないな

217:名前は開発中のものです。
07/09/08 07:10:44 YMaYTJnw.net
>>215
ですよね、毎フレーム描画するほうが自然ですよね。やっぱり舞いフレーム描画することにしました。
レスしてくれたみなさまどうもありがとうございます。

218:名前は開発中のものです。
07/09/30 17:53:37 ZVvbajM8.net
すみません、ちょっと質問です。
C++で使うときに便利なラッパーて存在しますか?
自分で書いていたんですけど、途中まで書いたところで嫌んなってきたので……


219:名前は開発中のものです。
07/10/01 12:05:55 toU5XyAB.net
>>218
URLリンク(sourceforge.net)
URLリンク(sourceforge.net)
URLリンク(sourceforge.net)
C++使わないから使い勝手は知らん。
というか>>218が使ってみてレポートしてくれたりするとみんなの参考になるかも?

220:名前は開発中のものです。
07/10/03 14:15:28 Nwe20aSd.net
>>218
今の流行は、g3d だな

221:名前は開発中のものです。
07/10/03 14:50:10 TlEYPRiW.net
>>220
あの辺はラッパーの域を大きく越えてもっと高レベルなゲームエンジンだろ

222:218
07/10/03 23:07:07 RbqWUS1l.net
見てみました。 >219
……全部死に絶えているようです。
あと、実装も古かったのであまりC++らしく無かったです。自分の実装の方がまだましだった……


223:名前は開発中のものです。
07/10/03 23:12:16 UktAvpVZ.net
じゃ!がんばれ

224:名前は開発中のものです。
07/10/03 23:26:21 RbqWUS1l.net
あっと、一つだけ質問。
イベント構造体って、どういう使い方するのが一般的?
やっぱり設定を済ませたらとっととイベントキューに押し込む&使うときだけイベントキューから取り出す
ということで、イベント構造体を保存しておくようなことはあんまり無い?

225:名前は開発中のものです。
07/10/04 15:29:28 FHvE2BAs.net
>>222
要するに気にいらなかったんだなw
ぶっちゃけるとSDLみたいな低レベルのAPIをそのままC++ラップしてもあまり嬉しくない。
余程潔癖なC++プログラマじゃない限り C の API そのまま呼ぶのは別に苦じゃないしね。
g3d まで行かなくてももう少し高レベルのゲームエンジンとか特定ジャンル向けAPIなら
使ってみるかという気になるけれど。

226:218
07/10/06 22:35:26 BZgGmwuo.net
遅レスすみません。
G3Dがなかなか良さそうだったので色々弄っていたのですが……初っ端のstarterサンプルも走らない……。
なんで~~~~。ドキュメント通りに設定したのに……。

>225
>余程潔癖なC++プログラマじゃない限り C の API そのまま呼ぶのは別に苦じゃないしね。

まあ、そうですけどね。リソース管理といってもboost::shared_ptr併用すれば大した手間じゃないし。
それは判っているのですが、ついゴテゴテとクラスを構築してしまって……
普段boostの便利ツールを使っているとどうも納得行かなくて。

基本的なところを実装できたらなんかのフレームワークでっちあげてみようかな。


227:名前は開発中のものです。
07/10/07 10:26:07 yJ/qUspY.net
そして目的がゲーム製作からライブラリ製作へ・・・w

228:名前は開発中のものです。
07/10/07 12:53:09 KThUHL05.net
ありがちなパターンだよなw

229:名前は開発中のものです。
07/10/07 12:54:15 XnDGmhDX.net
ゲーム作るより楽しかったり

230:名前は開発中のものです。
07/10/07 13:52:42 JFszqkjk.net
あるな。すげえよくわかるw

231:名前は開発中のものです。
07/10/07 16:06:08 gaO7ixsx.net
おれもだw

232:名前は開発中のものです。
07/10/07 16:31:51 vQBEp/5X.net
クルマ一台一人で作るより
ネジや歯車を一人でつくる方が完成する可能性高いしな

233:218
07/10/08 00:30:19 XgwvZWdN.net
やべえ、楽しい。SDL自体のボリュームも大きくないから、絶望的な気分になることも無いですし。
しかし、SDL側で管理しているリソースとかが所々にあって、ちょっと厄介ですね。

使い込みながらブラッシュアップしよ。


234:名前は開発中のものです。
07/10/08 05:29:39 EqHs6Yya.net
>>233
ゲームを作りながらライブラリを作ることをお勧めします。
できたらある程度高レベルなライブラリ(ってかゲームエンジン)を頼む。

235:名前は開発中のものです。
07/10/08 08:49:47 1mpmgeu/.net
すみません、質問です。
SDL_mixerでoggファイルを再生しようとしてるんですが、
再生中中断して次の曲を鳴らすと一瞬ノイズが入ってしまいます。
Mix_PlayMusic、Mix_HaltMusic以外に何か必要な手順等あるんでしょうか?

Mix_OpenAudioでバッファ長4096を指定していて、
これを1024とかにしたら注意しないと気づかないくらいノイズも短くなるんですが、
根本的な対策にはなってないので…。

236:名前は開発中のものです。
07/10/08 10:13:08 eMOPHGv/.net
>>235
音を瞬時に切ったらプチっていうノイズになるのは当たり前
横着せずにMix_FadeOutMusic()とMix_FadingMusic()を使うべし

237:名前は開発中のものです。
07/10/08 10:50:01 1mpmgeu/.net
>>236
ありがとうございます。
知りませんでしたが、ものすごく基本ぽいですね…。

238:名前は開発中のものです。
07/10/19 07:12:05 8k+FE+fq.net
URLリンク(www.libsdl.org)
今繋がらない、うちだけ?orz

239:名前は開発中のものです。
07/10/19 07:23:04 QaI7JdV7.net
つながらないです

240:名前は開発中のものです。
07/10/19 07:30:35 QaI7JdV7.net
繋がるようになった

241:名前は開発中のものです。
07/11/18 02:52:06 WJuqDS+Z.net
SDL_imをSDL 1.2.12で使ってる人います?
パッチを手動でシコシコ移してるんだがめんどくせぇ・・・

242:名前は開発中のものです。
07/12/11 19:43:29 1+qgcfJz.net
g3dのstarter動かないんだが>>218の解決策ギボン

243:名前は開発中のものです。
07/12/16 22:43:53 rnjWSpSt.net
サルベージ!

244:名前は開発中のものです。
07/12/24 11:59:27 dmdr7zzq.net
msys+mingwでSDLを試しているんですが、bmpの読み込みはできるんですが
pngの読み込みができずに頭を抱えています。
SDL_image.hをインクルードするとあるんですが、やってみてもIMG_Loadの
ところでビルドエラーになってしまいます。

$ gcc -o myLibTest.exe myLibTest.c myLib.c -g -O2 -I/usr/include/SDL -D_GNU_SOU
RCE=1 -Dmain=SDL_main -DHAVE_OPENGL -L/usr/lib -lmingw32 -lSDLmain -lSDL -mwind
ows
C:/DOCUME~1/ほげ/LOCALS~1/Temp/cca2baaa.o: In function `SDL_main':
C:/msys/1.0/home/moregusi/SDL-1.2.12/mytest/myLibTest.c:65: undefined reference to `IMG_Load'
collect2: ld returned 1 exit status


pngを読み込もうとしない場合は無事実行できます。どなたか教えてくだされ。

245:名前は開発中のものです。
07/12/24 12:19:22 iYByUp/W.net
>>244
SDL_imageが必要
URLリンク(www.libsdl.org)

246:名前は開発中のものです。
07/12/24 13:02:19 dmdr7zzq.net
SDL_imageをどのように環境に組み込むのが正しいのでしょうか。
同ディレクトリ内にSDL_image.dllを置いて、includeディレクトリ内にSDL_image.hをおいて
ビルドをしてみましたが状況に変化がありませんでした。

247:246
07/12/24 13:06:22 dmdr7zzq.net
URLリンク(cefiro.homelinux.org)
すいません、質問をするまえに調べるべきでした。
こちらをみながらがんばって見ます。
>>245さんありがとうございます

248:246
07/12/24 14:00:50 dmdr7zzq.net
たびたびすいません。
無事SDL_imageのインストールは済んだようなのですが、
ひとつのディレクトリ内に SDL-1.2.12 SDL_image-1.2.6 
と並べてインストールしたんですが、SDL-1.2.12内で作業している場合
どうすれば正常にpngを読み込めるようになるでしょうか?


249:名前は開発中のものです。
07/12/24 14:50:34 iYByUp/W.net
標準のままだとmake installで/usr/local以下の同じディレクトリに
SDLもSDL_imageも入るはずだけど、変更したってことかな?

もし標準のままだったら/usr/local/bin/sdl-config参照

250:名前は開発中のものです。
07/12/24 16:03:34 zzGFWe7O.net
オプションに-mSDL_imageと、-I -Lでインクルードファイルとライブラリ置いてあるディレクトリへのパス指定すればいいんじゃね?
漏れは全部SDLの中にぶちまけてたけど(笑

251:名前は開発中のものです。
07/12/24 16:10:00 zzGFWe7O.net
ごめん-mじゃなく-lだった

252:246
07/12/26 08:13:55 z7lh/EP2.net
-lSDL_imageオプションの指定をすることで無事ビルドがとおるようになりましたが
IMG_Load(ファイル名文字列)の返り値ポインタがNULLになってしまうようで
表示にいたりませんでした。画像自体はサンプルにあるものなので不正なファイルで
ないと思うのですが。

SDL_imageライブラリを扱う際にzlib,libpngなどSDL_image以外の拡張も
必要になるのでしょうか?

URLリンク(hp.vector.co.jp)

253:名前は開発中のものです。
07/12/26 09:06:10 mbvZa8qb.net
perrorを使ってみるとなんか出してくれるかも?

254:246
07/12/26 09:55:52 z7lh/EP2.net
便利な関数を教えていただきありがとうございます
perror(ファイル名文字列)をためしてみましたが、No errorと出力されました。
IMG_Load関数の挙動に問題がある様子です。
どこの落とし穴にハマっているんでしょう...

255:名前は開発中のものです。
07/12/26 10:29:20 mbvZa8qb.net
なにかエラーが出たら、IMG_Loadで呼び出されるSDL_RWFromFileでエラーがセットされるようなので、
IMG_Load呼び出した後にSDL_GetError();をやってみるといいかもしれないです。


256:名前は開発中のものです。
07/12/26 10:32:08 mbvZa8qb.net
ごめんなさい、正しくは
printf("%s\n",SDL_GetError());
です

257:246
07/12/27 00:09:40 Nhkc6jeq.net
さっそくためしてみました
Unsupported image format というエラーがセットされていました

念のため読み込まれるpngの透過情報をなくしてみたりと
データ側をいじってみましたが変化がありませんでした。
一度SDLの環境を見直してみます


258:246
07/12/27 00:30:29 Nhkc6jeq.net
URLリンク(risky-safety.org)
こちらのサイトの解説に
「SDL_imageではjpeglibやlibpngなどを使いますし、 」とありますが、
windowsXP上でmsys+mingwの環境の場合もlibpngなどの導入は必須なんでしょうか?

どなたかご存知でしょうか。



259:名前は開発中のものです。
07/12/27 01:25:19 nu2XEQSa.net
>>258
そのSDL_imageはどこで手に入れたんだ?
自分でコンパイルしたのだとしたらコンパイルする前にlibpngを入れとかないとだめだよ?
で、libpngをコンパイルするには zlib を入れとく必要がある。
なんか基本的なとこがわかってない気がするな…

260:名前は開発中のものです。
07/12/27 04:42:22 ZIMxRSVw.net
とりあえず、聞く前に試そうぜ?

261:名前は開発中のものです。
08/01/01 02:19:54 TVa3tF2A.net
SDL1.2.13のリリース情報
SDL1.2.13はちょっとしたバグフィクスリリースです。

【一般注意事項】
インテルCompiler10と共に建てるときの固定連結路誤り。
公共のヘッダーから迷っているC++コメントを取り除きました。
【unix注意】
セキュア・オペレーティング・システムにSDL_SoftStretch()でのクラッシュを固定しました。
UTF-8サポートなしでX11実装に未定義のシンボルを固定しました。
XFree86インテルのIntegrated Graphicsドライバーの上にXVideoを使用するときのBadAlloc誤りの周りで扱われます。
取り除かれたもの時に止まることの代わりにリナックスのすべてのジョイスティックのために、スキャンします。
sdl.m4でのsdl-コンフィグ議論の固定使用
【Windows注意】
ビデオドライバーが32のbppビデオモードより高く報告するとき、クラッシュを修理しました。
24ビットのOpenGLビデオモードを設定した後にデスクトップを復旧しながら、修理されています。
Windows95/98/MEに窓のタイトルを固定しました。
拡張マウスボタンのためにSDL_BUTTON_X1とSDL_BUTTON_X2定数を加えました。
引用されたコマンドライン議論のサポートを加えました。
【Mac OS X注意】
SDLは現在、Mac OS X10.5(ヒョウ)に建てます。
速成の意味ありげなテキストが入力した高周波を固定しました。
ESCキーが押されて、ユニコード翻訳が可能にされるとき、ビープを修理しました。
サポートをスクロールするtrackpadを改良しました。
あるジョイスティックを届け出るジョイスティック帽子を修理しました。

262:名前は開発中のものです。
08/01/01 02:30:38 gX9EjFXV.net
>>261 乙。
でもすげぇ機械翻訳でわらったw

263:名前は開発中のものです。
08/01/01 03:53:23 LA4AaUBw.net
プログラムも専門領域だよな
その機械翻訳やばすぎるwww

264:名前は開発中のものです。
08/01/10 14:26:15 T+hVZ1aa.net
>インテルCompiler10と共に建てるとき

build with ICC10かwww 「建てる」ってカコイイなw

265:名前は開発中のものです。
08/01/15 02:09:56 VbpPlCwQ.net
拙作ながら SDL でこんなものを作ってみました
URLリンク(www.starruby.info)

266:名前は開発中のものです。
08/01/15 03:29:14 Xfrz2IUS.net
なかなかお手軽そうですね。パフォーマンスはどう?

267:265
08/01/15 03:49:23 VbpPlCwQ.net
>>266
ありがとうございます。
「スーパーファミコン風」を目指しているもので、
低解像度 (320×240) で 30FPS 程度のゲームを作るならば全く問題ないです。
解像度をあげると (640×480) ちょっと苦しくなるかも。

- Pentium M 1.6 GHz
- メモリ 512 MB
- 解像度 320×240
- 16×16 のスプライトを 200 個表示
で、最大 180 FPS ほどは出ました。


268:名前は開発中のものです。
08/01/15 08:31:58 ZW2PtYT3.net
お、何か面白そう。時間取れたら見てみよう

269:名前は開発中のものです。
08/01/26 17:24:42 cBQDlMua.net
>>265
↓みたいのないの?
Greenbear Laboratory - Ruby/SDLスターターキット
URLリンク(mono.kmc.gr.jp)


最近こういうの増えたけど今一つはやらないんだよね。。。

MyGame
URLリンク(dgames.jp)

Miyako メインサイト
URLリンク(www.twin.ne.jp)

270:名前は開発中のものです。
08/01/26 20:33:07 bvJPEP9U.net
RubyでSDL使うメリットが少ないからだろう

271:名前は開発中のものです。
08/01/26 20:54:14 Bb9G19MS.net
>>270
HSPみたいにRubyも裾野を広げたいって
Rubyの制作者が煽ってなかったっけ?

272:名前は開発中のものです。
08/01/26 20:55:30 idoH7doh.net
>>271
kwsk

273:265
08/01/26 23:38:34 7K5FvFGI.net
>>269
> ↓みたいのないの?
> Greenbear Laboratory - Ruby/SDLスターターキット
ないです。
ワンコマンドのインストーラーは作ったのでそれでいいかなと。
exerb は入っていないですが。

> 最近こういうの増えたけど今一つはやらないんだよね。。。
そうですね。
いろいろな人に使われるためには、クラスライブラリだけじゃ足りなくて、
なんらかのエディタが要るんじゃないかと考えています。

274:名前は開発中のものです。
08/01/27 06:14:44 eWcA2/TF.net
HSPってそこそこ小さいバイナリになるし同人も商業利用もOKじゃん
Rubyつかうとどうなんの?
HSPについてるエディタって大したことないし、その辺のがネックじゃないの

275:名前は開発中のものです。
08/01/27 06:23:09 qj1DCFST.net
逆にHSPのエディタってたいしたことなさ過ぎてそれでやる意味自体薄いよな
むかしemacsのhspモードとかあったな

276:名前は開発中のものです。
08/01/27 06:29:38 qj1DCFST.net
ってスレ間違えたごめん

277:265
08/01/27 07:20:29 29xIjg2/.net
>>274
「そこそこ小さく」はないですが、 Exerb を使えばバイナリにはできます。
ソースコードがまんま exe に含まれてしまうので、
みられたくないならば暗号化などの工夫は要りますけど。
RPG ツクールの例を鑑みるに、商用利用は可能です。

278:265
08/01/27 07:32:18 29xIjg2/.net
> HSPについてるエディタって大したことないし、その辺のがネックじゃないの

> 逆にHSPのエディタってたいしたことなさ過ぎてそれでやる意味自体薄いよな

コマンドプロンプトでの作業すら抵抗を感じる程度の初心者相手を想定しています。
エディタ自体の機能が重要ではなくて (むしろしょぼくてもよくて)、エディタの中で
- ゲームが作れる
- ゲームが実行できる
という安心感こそが必要と思いました。

と、書いている途中で調べましたが、吉里吉里や NScripter とかにはエディタがありませんね。
あると思い込んでいました。
やっぱり >>269 のスターターキットみたいなのがいいのかなあ。

SDL の話から脱線してますね。すみません。

279:名前は開発中のものです。
08/01/27 07:51:14 6KTz8Mgs.net
>>278
やっぱHSPの層狙うんならそれぐらい簡単である必要があるんじゃない?

もしくはrubyのダウンロード、インストールから
ちょっと画像表示して動かすまでの馬鹿丁寧なチュートリアルがあればいいんじゃねww
完全に説明通りの手順踏むだけでいいような

280:265
08/01/27 07:54:18 29xIjg2/.net
>>279
> もしくはrubyのダウンロード、インストールから
> ちょっと画像表示して動かすまでの馬鹿丁寧なチュートリアルがあればいいんじゃねww

やっぱりチュートリアル書いた方がいいですよね。はい。今度書きます。

281:名前は開発中のものです。
08/01/27 09:30:11 SS2Pdf4W.net
動かない・・・
画面が表示されてすぐに、エラーが出てとまります。
OSはwindows XP sp2です。

282:名前は開発中のものです。
08/01/27 10:15:02 820CF9bO.net
他に書くこと無いのか……?
エラー内容とかさ。

283:名前は開発中のものです。
08/01/27 10:21:55 SS2Pdf4W.net
エラーメッセージ何もない。windowsのエラー報告が出てそれだけ。

284:名前は開発中のものです。
08/01/27 12:41:44 Fw+7Z26U.net
>283
だからそれを書け
あとSDLのバージョンも


285:名前は開発中のものです。
08/01/27 13:40:34 SS2Pdf4W.net
すいませんSDLスレだということを忘れてました。
上のはStarrubyの話です。Game.runをすると止まります。

286:265
08/01/27 14:50:15 mFknEDZJ.net
>>285
使っていただきありがとうございます。
> 上のはStarrubyの話です。Game.runをすると止まります。
Ruby の例外が出ていて止まっているんでしょうか?
SEGV ですか?

質問の問答を始めるとスレ違いになるので、どこかに避難しましょうか。
Google アカウントをお持ちでいらっしゃるならば、
Google Group に書き込んでいただければ幸いです。
URLリンク(groups.google.com)

287:名前は開発中のものです。
08/01/27 16:52:35 dVQn3A77.net
色々なlibを使用しない、おすすめなWindow managerって
どれですか?

288:名前は開発中のものです。
08/01/27 17:36:29 dtN1iULr.net
>>287
スレ違いだろ

289:名前は開発中のものです。
08/01/27 18:16:29 aUAMOZTo.net
>287 板違いだが,あえてevilwmと言っておく

290:名前は開発中のものです。
08/01/27 18:16:39 QJg0Oq/T.net
学校の課題で、Ruby/SDLを使ってゲームを作っているのですが、
コンパイル、実行しようとすると、次のようなエラーが出てしまいます。

ALSA lib confmisc.c:769:(parse_card) cannot find card ''
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3982:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM default
/usr/lib/ruby/1.8/sdl.rb:220:in `open_imp': Couldn't open audio: No available audio device (SDL::Error)
from /usr/lib/ruby/1.8/sdl.rb:220:in `open'
from main.rb:34

オーディオデバイスに異常がありそうなことは分かるのですが、
解決法がわからず困っています。

291:名前は開発中のものです。
08/01/27 18:38:29 oEOot0Or.net
サウンドデバイスが見つからないと言っている

292:名前は開発中のものです。
08/01/27 18:43:10 820CF9bO.net
なんかどっかで見たな、オイw

293:名前は開発中のものです。
08/01/27 21:04:37 QJg0Oq/T.net
>>290です。

>>291
板違いかもしれませんが、どうやったらサウンドデバイスを認知してくれるようになりますか?
それに対し、こちらの環境で知りたいことがあれば、また載せたいと思います。

294:名前は開発中のものです。
08/01/27 23:42:59 1ust7Xle.net
やっぱサンプルゲームが必要だよな

295:名前は開発中のものです。
08/01/28 00:46:21 xM1USYNA.net
>>293
ここはお前の宿題を教えてやるスレじゃねーんだよボケ。
だいたい人にものを聞くのに教えてくださいも言えないのか?
困ってます?ああそう。

296:名前は開発中のものです。
08/01/28 00:58:49 FafYnQx0.net
>>295
ここにきた私が間違っていました。
すいませんでした。

297:名前は開発中のものです。
08/01/28 01:12:48 JAve0vuS.net
何が間違ってたのか分からないんじゃ、また同じことの繰り返しだぞ

298:名前は開発中のものです。
08/01/28 02:08:17 MbQXTH3d.net
そろそろ卒業のシーズンだし時間やばいんだろうなwww

プログラムと環境どっちが悪いのかわからんけど、
プログラム弄って回避する手段がないなら環境変えればよくね

299:名前は開発中のものです。
08/02/12 16:20:14 6i0S/79M.net
sdl_Imageって、gifやPNG、jpgは読めるのに、icoは読めないのか。残念だ。

300:名前は開発中のものです。
08/02/12 20:27:00 fS47DFbr.net
>>299 が実装してパッチ投げればいい

301:名前は開発中のものです。
08/02/13 11:06:59 RFZnwFD/.net
>>300
本末転倒。

302:名前は開発中のものです。
08/02/13 17:16:26 k/D+iVrL.net
なんで?

303:名前は開発中のものです。
08/02/15 23:08:09 v+BMuuwV.net
icoのフォーマットは難しいのかね?

304:名前は開発中のものです。
08/02/15 23:28:23 CB3oNQql.net
昔調べたと限りではすごく簡単なフォーマットだと思ったが…
確かbmpの中身みたいなのを複数詰め込めるような程度だった気が…
で、中身がbmpと大差ないのでSDL_imageでサポートするメリットもないだろうなぁ

305:名前は開発中のものです。
08/02/24 17:21:43 jLQHb9sk.net
やっぱりSDLは過疎スレだよな
日本でSDLなんて使ってくれるのはRubyくらいか
そんで>286にランチャーとか言うのが増えてるよ

目指せHSPならRuby,SDL,Exerb,RDEとかのセットと
簡単ドキュメント+サンプルでいいのだろうけど
GUIがどうしようもないんだよな・・・まあこれはSDL関係ない問題かw
IronRubyとか.NETでよければ、それでいいのかな・・・

306:名前は開発中のものです。
08/02/24 18:11:52 OdCSI886.net
>>305
特に語るネタがないんだよ…
SDL自体に複雑な機能が存在しないから使える人は悩むことなく使えるし、
SDL自体がライブラリとしてすっかり枯れてるからAPIの変化とかもないし…
SDL 1.3とか2.0とか出ればまた違うんだろうがな

307:265
08/02/24 20:33:06 0C7tpS33.net
>>305
286 の中の人です。
Ruby の GUI ライブラリはないわけではなくて、僕は ruby-gnome2 か Visualu Ruby のどっちか使おうかなと思ってます。
テキストエディタは、こちらで用意しなくても、各人好きなもの使ってもらった方がいいと思ったんですが、どうなんでしょう。
IronRuby だと C で書いた拡張ライブラリが動かないのが問題です。

308:305
08/02/24 21:21:35 QRmerSZi.net
>>306
早くでるといいな・・・

>>307
駄文にレス有り難う。HSP基準で考えるとだけど、それだけで始められるセットがいいのかなと思ったの。

GUIはWindowsネイティブっぽい見た目が必要だけど、マルチOS対応にすると選択肢が微妙かなと思う。
エディタもF5押したらたとえ保存しなくても、実行して試せるみたいなHSP仕様(違ったかな?)だといいかなと。
普通の人ならメモ帳で始めたりするだろうし、Rubyに色分け対応したエディタは少ないから。
.NETは見た目がWindows標準になるから幸せに思えるのかな。

309:265
08/02/24 21:33:14 0C7tpS33.net
>>308

> HSP基準で考えるとだけど、それだけで始められるセットがいいのかなと思ったの。
なるほど。
メモ帳 (か、ユーザーの好きなテキストエディタ) のプロセスをランチャー内で立ち上げられるようにすれば
いいかなと思ったのですが、こちら側でも用意した方が初心者は安心なのかもしれませんね。

メモ帳 + α程度のものだったら作れそうなので検討してみます。
シンタックスハイライトはきつそうです。

> .NETは見た目がWindows標準になるから幸せに思えるのかな。
そうですね。ネイティブ描画は重要ですね。
ruby-gnome2 はファイルを開くダイアログが萎え萎えなので悩んでます。
Visualu Ruby はネイティブ対応なのでその点安心でした。
wxRuby は、描画はネイティブなんですが、挙動が不安定なので見送りました。

.NET で (GUI) ライブラリを書いて、 Ruby (または C) から叩こうと思ったんですが、できるのかな。
RubyCLI というのがありますがまだ開発途中っぽいなあ。

310:265
08/02/24 21:34:23 0C7tpS33.net
RubyCLR だた

311:名前は開発中のものです。
08/02/24 21:44:55 7pYcKWcW.net
.NETならIronRubyかな
.NET使うんだったらTao.Sdl通して全部C#使って書いちゃった方が楽で早くて速いけど

312:265
08/02/24 22:26:42 0C7tpS33.net
以前ゲームライブラリを C# で実装し、ゲーム自体は Ruby を使うという無茶なことをしたことがあります。
SDL の C# へのポーティングは Tao.Sdl ではなくて、 YaneuraoSDK.NET のものを使用しました。
URLリンク(star-engine.sourceforge.jp)

313:名前は開発中のものです。
08/02/24 22:49:22 1kNOd+5D.net
>>309
わざわざエディタ作るくらいなら、RDEや適当なエディタでも付けた方が良さそうだけどね
個人的にはzip解凍したら、そのままRubyとStar Ruby(SDL)とIDE(エディタ)が使えるのがいいかな
チュートリアルとか大変だと思いますが、頑張ってください。期待しています。

あと.NETまぜるのならIronRubyでいいやは同意。
そういやYaneuraoSDK.NETも最近音沙汰無いよね

314:265
08/02/24 22:56:11 0C7tpS33.net
>>313
> わざわざエディタ作るくらいなら、RDEや適当なエディタでも付けた方が良さそうだけどね
既存のエディタに上手に組み込めればいいんですが。
エディタを作ることはメインではないので程々にしようかと思います。
Eclipse プラグインとかは使いたくないしなあ。

> 個人的にはzip解凍したら、そのままRubyとStar Ruby(SDL)とIDE(エディタ)が使えるのがいいかな
なるほど。それを目指そう。

> チュートリアルとか大変だと思いますが、頑張ってください。期待しています。
ありがとうございます!

315:名前は開発中のものです。
08/03/24 20:10:47 +bJeOZa0.net
あげ

316:名前は開発中のものです。
08/04/25 07:38:21 CbC63WhO.net
もしかして、最近のSDLってstdout.txt生成されない?

317:名前は開発中のものです。
08/04/25 08:30:28 uY/BUr6x.net
もしそうだとしても、freopenしちまえばいいだけだからあんまり困らなくない?

318:名前は開発中のものです。
08/05/07 11:03:44 eYK9Iz4g.net
Mix_LoadMUS_RWに使ったrwをMix_FreeMusic後にcloseするとアクセス違反で死ぬんだけど、
これはMix_FreeMusic内で解放してくれてるって解釈でいいの?

調べると「再生中も開きっぱなしにしないとマズいよ。再生終了後にcloseするのが正しいよ」って情報がぼちぼち出てくるんだが……。
デフォで実装されるようになってから仕様変わったんかな。

319:名前は開発中のものです。
08/05/07 16:07:54 YiKmtmEC.net
>>318
仕様上は Mix_FreeMusic() だけで問題ないはず。
でもすべてのフォーマットでちゃんと実装されているかどうかは知らない。
# Mix_LoadMUS_RW()ってどのフォーマットでも動くようになったんだっけ?

320:名前は開発中のものです。
08/05/07 23:50:25 eYK9Iz4g.net
>>319
サンクス。
1.2.7でmp3に対応、1.2.6でOgg Vorbisに対応したいうようなこと(たぶん)がCHANGESに書いてある。
個人的にはoggで動くなら問題ないなーって感じなんで他の形式については知らない。すまん。

321:名前は開発中のものです。
08/05/14 13:31:44 YYDaExl0.net
SDL_mixerでwavしか再生されないんだが。
サンプルプログラムを動かしてみたらmp3やoggが鳴らない。
SDLのバージョンは1.2.9、SDL_mixerのバージョンは1.30なんだが何故?

322:名前は開発中のものです。
08/05/14 13:34:55 YYDaExl0.net
スマン。
SDL_mixerのバージョンは1.2.8だった。

323:名前は開発中のものです。
08/05/14 16:45:52 sJB6iZGy.net
その SDL_mixer に libogg や smpeg がリンクされていないんじゃない?
そもそもその SDL_mixer をどうやって手に入れたんだ?

324:名前は開発中のものです。
08/05/16 09:14:55 DN6C+xLj.net
誰かネタ投下頼む


325:名前は開発中のものです。
08/05/20 10:35:26 licslx6y.net
カーソル左クリックでスタートボタンを作りたいのですが、
SDLを使う場合Cではどんな風に書いたらいいのでしょうか?

326:325
08/05/20 10:36:27 licslx6y.net
>>325
誤記です。
×カーソル→○マウス

327:名前は開発中のものです。
08/05/22 08:58:50 Tb+uR3WZ.net
イベント周りを調べてみれ


328:名前は開発中のものです。
08/06/19 19:13:40 fSacriq7.net
環境も書かずに書いてみるけど、
Uint8 *keys = new Uint8;
keys = SDL_GetKeyState(NULL);
(略
delete keys;
とかするとSDL_GetKeyState()でデバッガうまく動かなくね?
ステップ実行だとうまく通過するんだけど通しでやるとそこでプログラムが止まっちまう
デバッグでなく通常実行なら動くんだけど

で、どこでこんな書き方したのか探してたんだけどとりあえず↓にしたら正常になったからキニシナイ
Uint8 *keys = SDL_GetKeyState(NULL);

329:名前は開発中のものです。
08/06/19 19:19:28 xHUnW9Cs.net
>>328
どう見ても動かなくて当然です。
C/C++勉強しなおしましょう。

330:名前は開発中のものです。
08/06/19 19:48:29 fSacriq7.net
どうみてもこれですね本当にありがとうございました
URLリンク(www.tacoworks.jp)
>返されたポインタはSDL内部の配列へのポインタですので、 呼び出し側で解放してはいけません。

やっぱ変だとは思ったんだけど、なんでデバッグで通しで実行した時だけ止まるのか気になって

331:名前は開発中のものです。
08/06/19 22:02:16 kP83Im28.net
それ以前の問題だよ
ポインタ勉強しなおせ

332:名前は開発中のものです。
08/06/20 01:30:22 U0K3TT78.net
newする必要なんてない
しかも、そのnewしたやつは開放されてない

333:名前は開発中のものです。
08/06/21 06:03:14 O+pYZwaV.net
>>330
デバッグ版のほうが不正なコードに対するチェックきついんだよ。特にメモリまわりはね。

334:名前は開発中のものです。
08/06/26 08:37:32 7bFpPbg4.net
サンクスコ
だから動かなかったんですか
理由もわかったしデバッガとかのバグでなくてすっきりした

>>331-332
330の時点でその辺は分かってるyo
自分でもなんでこんなの書いたのかすげー不思議だ

335:名前は開発中のものです。
08/08/10 20:17:35 QtI/u+OG.net
SDL1.2.10以降でSDL_WM_SetCaptionに日本語を使うと文字化けしてしまうのですが、
2byte文字を化けないようにする方法はないでしょうか。

336:名前は開発中のものです。
08/08/10 20:23:46 +PbZDGrT.net
つSetWindowText

337:名前は開発中のものです。
08/08/10 21:25:51 g7T3hWwX.net
>>335
UTF8で渡せとかそういう話じゃなかったっけか?

338:名前は開発中のものです。
08/08/10 22:29:28 OHMslPTs.net
ソースをUTF-8で保存してればできたような。(≒>>337
SDL_EnableUNICODEしないといけないんだっけ?

339:名前は開発中のものです。
08/08/10 23:42:34 g7T3hWwX.net
ソースをUTF-8ってか関数に渡すバイト列がUTF-8になればいい。
SDL_EnableUNICODEはキーイベントの振舞を変える関数だから関係ないはず。

340:名前は開発中のものです。
08/08/10 23:52:29 OHMslPTs.net
そうでした、ゴメン

341:名前は開発中のものです。
08/08/11 10:01:30 TzozCFk6.net
こっちこそゴメン…
あやまるから、もう一度やり直そうぜ!

342:名前は開発中のものです。
08/08/22 23:29:32 a5tEqmFR.net
SDLに付属のサンプルプログラム testgl.c に関する質問です。

icon.bmpの周りの黒い部分を切り取った状態で、スマイルのみを
表示するように改造するにはどのようにしたらよいのでしょうか。

描画前に以下を追加すればよいとの情報がありましたが、うまくいきませんでした。

glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glColor4d(1.0, 1.0, 1.0, 1.0);

そもそもこのbmpにはアルファ値が含まれていないのでしょうか。

343:名前は開発中のものです。
08/08/23 03:01:36 W5iXsx8o.net
bmpは普通アルファチャネル入ってないしょ。
今ならPNGあたりが妥当か。あとはTGAとか。

344:名前は開発中のものです。
08/08/23 04:55:52 aWRf8BFC.net
SDLなんだし、パレットからアルファチャネル捏造してもよさそうだな

345:名前は開発中のものです。
08/08/23 09:26:27 M4/vsM9q.net
>>342
-logocursor や -logo で出てくるicon.bmpのテクスチャだよな?
icon.bmp は 4bit カラーの DIB なんて当然アルファとか入ってない。

SDL_LoadBMP() で icon.bmp をロードした後に
SDL_SetColorKey(image, (SDL_SRCCOLORKEY|SDL_RLEACCEL),*(Uint8 *)image->pixels);
とかやって透過色を指定してやる。そうすると SDL_GL_LoadTexture()でアルファ付きの
テクスチャにしてくれるはず。そうした上で描画前に
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glColor4d(1.0, 1.0, 1.0, 1.0);
とする。あるいは、
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
とかでテクスチャの色でポリゴンの色を置き換ちゃってもいいかも。

346:名前は開発中のものです。
08/08/23 12:10:17 ERkLBf3o.net
>>345

できました!!本当にありがとうございました。
こんなことで2日ほど悩んでました。

ちなみに、このSDL_SetColorKey()で指定しているキーというのは、画像のはじっこの色を
指定している、という理解であってますか?


347:名前は開発中のものです。
08/08/23 23:35:27 aWRf8BFC.net
*(Uint8 *)image->pixelsが左上のピクセルを指してるので、その理解で合ってる。
SDL_MapRGBで任意の色を指定してもいいよ。

348:名前は開発中のものです。
08/08/24 11:30:01 bnMWkYhk.net
なるほど、ありがとうございました。
いろいろ弄ってみます。

349:名前は開発中のものです。
08/08/24 17:04:07 XYqjm2r9.net
>>348
いろいろがんがれ!

350:名前は開発中のものです。
08/09/27 13:13:40 xyM4h4Xe.net
あげ

351:名前は開発中のものです。
08/09/28 13:49:02 39sKe8im.net
SDLのKEYUP/KEYDOWNのエッジ検出というか変化した瞬間の検出する機能ってないですよね?

352:名前は開発中のものです。
08/09/28 14:03:24 mKd/H6dR.net
event.type

353:名前は開発中のものです。
08/09/29 14:52:31 qSKBf54P.net
>>351
普通にイベント処理するか、ゲームみたいに扱うキーが少ない
なら自分で1フレーム前の状態を記憶しておくかじゃね?

354:名前は開発中のものです。
08/10/06 05:57:12 ObKXGS8z.net
サンクスコ
イベント処理ってのがよくわからなかった('A`)
ので、記憶させるほう作って終わしますた
bool isKeyboardPressAndRelease(int key){
 Uint8 *keys = SDL_GetKeyState(NULL);
 static int oldkeys[SDLK_LAST];
 if(keys[key] == SDL_PRESSED ) {
  oldkeys[key] = SDL_PRESSED;
  return false;
 }else if(oldkeys[key] == SDL_PRESSED ) {
  oldkeys[key] = SDL_RELEASED;
  return true;
 }
 return false;
}

355:名前は開発中のものです。
08/11/03 19:07:48 tPLnRv3h.net
sdl_ffmpegなんてものもあるんだな
ただmplayerで再生するより重くなっちゃうけど

356:名前は開発中のものです。
08/11/03 20:26:03 c53J3lOT.net
よく見てないが出来るのはデコードだけなのか
エンコードも出来ればリプレイをそのままようつべにうpとか
夢が広がりまくりんぐなんだが

357:名前は開発中のものです。
08/12/01 14:35:06 BRHpuMYs.net
サイト消えてる?

358:名前は開発中のものです。
08/12/01 14:41:26 xsXgZLI2.net
アクセスできんね

359:名前は開発中のものです。
08/12/01 23:07:39 5vnxLKEg.net
復帰してる模様

360:名前は開発中のものです。
08/12/01 23:10:13 xsXgZLI2.net
Note: We've moved libsdl.org to new hosting and the mailing lists have not been restored yet.
This is a high priority and will be fixed as soon as possible.
Please report any other issues you find ASAP.
Thanks!

サーバ変更か

361:名前は開発中のものです。
09/01/25 18:52:56 sWufHJjM.net
SDLも十分扱いやすいんだが、DXライブラリほどではないんだよな
ちょっとSDLのラッパー作ったらはやるんじゃないか?これ
マルチプラットフォームだし

362:名前は開発中のものです。
09/01/25 19:53:52 xbGYEaS9.net
SDLのラッパーなんて腐るほど出てるよ
Cスタイルで手軽に使えるのが特徴なんだから需要ないと思う
DXライブラリみたいにハンドルまで何でもかんでもint型でラップしないと使えないようなこともないし

363:名前は開発中のものです。
09/01/25 23:29:40 sWufHJjM.net
勢いないから誰も居ないと思ったらROMがいるようで安心した
考えてみればSDL使うやつは自分でラッパー作るなりしてやってるな

364:名前は開発中のものです。
09/01/28 16:17:21 wlJakLRQ.net
SDL_gfxの日本語ドキュメントあれば教えてください。
ぐぐったけど無いみたいで…ソース読むしかないですか

365:名前は開発中のものです。
09/02/07 22:39:18 bTB7pSPh.net
亀レスだけど初心者のSDLに少しだけかいてあったかも


366:名前は開発中のものです。
09/02/16 21:47:27 O9Y7RbWH.net
OpenGL使ってゲーム作ろうと思うんだが
SDLとGLUTの違い教えてください
二つもAPI覚えてたら頭パンクしちゃいます。OpenGLでもうカオスなのに

367:名前は開発中のものです。
09/02/16 21:49:55 xXiGjaIE.net
使ってる鳥を晒せ
教えるかどうかはそれ次第だ

368:名前は開発中のものです。
09/02/17 11:39:20 dKP1WtQr.net
OpenGL自体は計算しか行わないので、計算結果をディスプレイへ表示するためには
何か他のライブラリを使って行う必要がある。

SDLは画像の表示、音声の再生、(マウスやゲームパッドなど)入力機器のコントロールを行うためのライブラリ。タイマーやスレッドなどの機能も提供。
GLUTは画像の表示と、(マウスやキーボードなど)入力機器のコントロールを行うためのライブラリ。

ゲームを作りたいだけならGLUTは捨ててSDLに絞ればいい。

369:名前は開発中のものです。
09/02/17 15:58:53 EqX1F4ey.net
>>367
Ubuntu

>>368
ありがとう。とてもわかりやすかった
SDLとOpenGLでマルチプラットフォームなゲーム作りに挑戦するよ

370:名前は開発中のものです。
09/02/17 19:32:01 YFalwF47.net
ごらんの有様

371:名前は開発中のものです。
09/02/17 19:51:58 yVzrSt+7.net
Glutがあればティーポットが簡単に表示できるだろうが

372:名前は開発中のものです。
09/02/18 00:39:57 GUh5vf0M.net
ティーポットをキャラにしてゲームを作りたいなら両方リンクすればいいじゃない

373:名前は開発中のものです。
09/02/18 21:30:45 e8tzFuLM.net
>>371 glutがなくてもgluがあればティーポットは表示できる。
しかしゲームでティーポットだけの表示もないだろ

374:名前は開発中のものです。
09/02/19 22:27:25 F3Q74QBZ.net
>>373
>しかしゲームでティーポットだけの表示もないだろ
ネタにマジレスすぎだろ…

あと glutWireTeaport() や glutSolidTeapot() で簡単に表示できるって話じゃないの?

375:名前は開発中のものです。
09/02/19 22:46:48 +EY8y50g.net
マジかよ…
俺のこの5年は一体…

376:名前は開発中のものです。
09/02/27 10:02:33 E56wit0d.net
SDL_LoadBMP で確保したSDL_Surface(1) と
SDL_CreateRGBSurface で確保したSDL_Surface(2) で
何か違うのかな?
それぞれscreenに表示する関数に渡した後、
(1)は描画されるのに
(2)は何も描画されない(アプリが落ちることもない)
関数に渡さず、どちらも確保した関数内で
screenにSDL_BlitSurface+SDL_UpdateRectした場合は、表示されるんだけどね

377:名前は開発中のものです。
09/02/27 18:53:07 VYJJoF0I.net
SDL_LoadBMP内ではSDL_CreateRGBSurfaceが呼ばれてるから本質的には何も違わない。
SDL_Surface構造体の中身を表示して比べてみればいいんじゃない。


378:名前は開発中のものです。
09/02/27 21:35:29 YQ8iFWgu.net
ABAのようにSDLでゲーム開発していてオープンソースなところを教えてください
コード見て勉強したいです

379:名前は開発中のものです。
09/02/27 21:56:50 xmgpHz+a.net
>>378
「ペンギンコマンド」とかどうよ。
URLリンク(www.linux-games.com)


380:名前は開発中のものです。
09/02/28 15:50:05 1IBOSKyZ.net
SDL.NETで作ったソース公開されてるゲームないかな?
SDL.NET自体情報が少なくて、へたれな俺にはぴんとこない。
codezineでやってたのでやっと少し理解できたぐらいで。
できれば日本人が作ってるのがいいんだが・・・

381:名前は開発中のものです。
09/02/28 16:52:59 VMgU4zCi.net
>>379
海外か。やっぱ国内のは少ないのか…
見てみる。ありがとう

382:名前は開発中のものです。
09/02/28 17:27:49 5UqeQdYc.net
>>380
URLリンク(d.hatena.ne.jp)

383:名前は開発中のものです。
09/03/14 12:14:01 9btw4Mc8.net
質問です。
SDL_DisplayFormatAlphaでα情報を持たせたSurfaceに
SDL_SetAlphaで全体α情報を付加させたいのですが
どうもうまくいきません。
これは仕様で出来ないのでしょうか?

384:名前は開発中のものです。
09/03/14 12:34:44 I07kl7uF.net
>>383
本家のドキュメントWiki( URLリンク(www.libsdl.org) ) に、
> RGBA->RGB with SDL_SRCALPHA
> The source is alpha-blended with the destination, using the alpha channel. SDL_SRCCOLORKEY and the per-surface alpha are ignored.
とあるので、仕様で不可能になってるんだと思います。


385:名前は開発中のものです。
09/03/14 13:19:06 9btw4Mc8.net
そうですか…
何回やっても出来ないわけだ

素早い回答ありがとうございました。

386:名前は開発中のものです。
09/03/23 16:42:47 6VLsDElv.net
SDLでフルスクリーンを使用するときに、使っているディスプレイでの最大の解像度(1680x1050)でフルスクリーンにしようとするとウィンドウ化、フルスクリーンを繰り返してしまいます
それ以下の対応した解像度(たとえば1440x900)では正常に表示されます
原因として何が考えられますか?

387:名前は開発中のものです。
09/04/06 12:16:57 pBRyt7pq.net
>386
カメレスだが
OSはWindows?
下で動作してる古いDirectXが対応してないとか


388:名前は開発中のものです。
09/05/26 00:29:44 TaTh536w.net
こんなスレあったのか。これこそ俺が求めてたスレ
しかし過疎ってんな

389:名前は開発中のものです。
09/05/26 10:46:45 RE6nhW1+.net
プログラム板にも類似スレあるからなぁ
スレリンク(tech板)

390:名前は開発中のものです。
09/05/26 11:44:26 g1iwHtNj.net
Linux板にもあるんだな
スレリンク(linux板)

どこも過疎なんだな

391:名前は開発中のものです。
09/05/26 13:00:07 ury5peHE.net
まぁどの板も見てる人は同じだったりするんだがなー

392:名前は開発中のものです。
09/05/27 15:13:44 J1ZUF3NO.net
>>391
あるあ…あるあるwww

393:名前は開発中のものです。
09/05/27 20:27:22 tvwU/dRy.net
>>391
禿同

394:名前は開発中のものです。
09/06/20 19:00:42 NcF3Cdso.net
pitchってなんなんだよ


395:名前は開発中のものです。
09/06/21 00:59:00 pYdSfSIz.net
サーフェスが内部で持ってるバッファの横幅のバイト数

主に効率の理由で、SDL_CreateRGBSurfaceは要求されたwidthより多めにバッファを確保することがある
そのためwidthとは別に、実際のバッファサイズpitchを提供している

396:名前は開発中のものです。
09/06/21 11:20:50 zSv4yW5k.net
大抵は
width * BytesPerPixels == pitch
になるんだがwidthが中途半端な値の時に行末にパッディングを入れて
効率よくアクセスできる様に行頭位置を調整したりする環境があったりする。
そういう環境では、
width * BytesPerPixels != pitch
になるんで座標(x, y)の値をpixelsから得るときなどpitchを使う方ようにする。

397:名前は開発中のものです。
09/06/21 23:15:51 E25maqZD.net
SDLで垂直同期待ちをするにはどうしたらいいのでしょうか

398:名前は開発中のものです。
09/06/22 00:20:15 O+mIJJsX.net
SDL_SetVideoModeでSDL_FULLSCREEN | SDL_HWSURFACE | SDL_DOUBLEBUFを指定してSDL_Flip()

399:名前は開発中のものです。
09/06/23 00:52:22 joZZV7Mo.net
できないです

400:名前は開発中のものです。
09/06/23 12:13:46 /PVOVvfC.net
>>397
環境が分からんけど OpenGL 使うなら
SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定する


401:名前は開発中のものです。
09/06/27 18:30:43 sDHPm4PI.net
ローグライクのようなビジュアル的な計算が不要なゲームだと、
OpenGL使わずSDLだけでも十分って認識でおk?age

402:名前は開発中のものです。
09/06/27 19:19:02 KWqzL4Cx.net
>>401
SDLもいらね。CUIで十分だ。

403:名前は開発中のものです。
09/06/28 00:08:39 ywJLJ5bX.net
SDLの本が全く無いのがおかしいと思います

404:名前は開発中のものです。
09/06/28 00:34:11 HORigyY6.net
じゃあ書くしかないよね!期待してる

405:名前は開発中のものです。
09/06/28 00:34:35 bZPPtuvi.net
シンプルなのに本が必要って理解できない。
関数の説明とかサンプルがあれば十分だと思う。
言語を本を見て勉強する人も理解できない。
文法なんて数日で慣れるし、実際にコーディングした方が早い。

406:名前は開発中のものです。
09/06/28 00:37:11 UHxRgRz6.net
>>402
タイル版が好きです。

407:名前は開発中のものです。
09/07/27 22:27:56 pwgcLYGU.net
実行ファイルに埋め込んだリソースのBMPを読み込むにはどうしたらいいんですか

408:名前は開発中のものです。
09/07/29 19:46:46 hxaVetwq.net
SDL_RWFromMem と SDL_LoadBMP_RW で

409:名前は開発中のものです。
09/07/30 03:02:11 7LpS17TZ.net
プログラムの中でgzファイルを解凍して使うにはどうしたらいいですか

410:名前は開発中のものです。
09/07/30 08:59:42 X32fjlJI.net
もうそれ SDL 関係なくね?
zlib 用意して gzopen, gzread, gzclose
あとはここ
URLリンク(www.gzip.org)

411:名前は開発中のものです。
09/07/30 20:26:22 z/8BAJ4t.net
>>408
すいません。SDL_RWFromMemに与えるべき引数が分かりません。
VisualStudioでresource.rcという下記内容のファイルを作って、
RSC_BMP BITMAP "./test.bmp"
test.bmpを実行ファイルに埋め込むことはできているのですが、どうやって取り出したらいいのでしょうか。


412:名前は開発中のものです。
09/07/30 21:21:20 X32fjlJI.net
え、そこから?
なら FindResource, LoadResource, LockResource で

413:名前は開発中のものです。
09/08/02 03:20:05 YWNjq98X.net
実行優先度を設定する関数とかない?

今のところ窓でしか使ってないんだけど、
せっかくのマルチプラットフォームでWin32API使うの勿体無い('A`)

414:名前は開発中のものです。
09/08/02 14:19:49 lj8fHqwo.net
可搬性のあるやり方は未だ無いと思う
__WIN32, __darwin, __linux, __unix, __FreeBSD で場合分けするしか無いんじゃない?

415:名前は開発中のものです。
09/08/02 18:20:43 jIK/N1/Y.net
結局そうなるよね。

416:名前は開発中のものです。
09/08/02 18:49:37 MeotJZ+F.net
マルチプラットフォームw

417:名前は開発中のものです。
09/08/02 19:33:44 P5gI9MRs.net
>>416
は何がおかしいのか分からない。

418:名前は開発中のものです。
09/08/02 19:45:31 qKXo/Ur3.net
時々居るよね。意味もなく笑う人。

419:名前は開発中のものです。
09/08/02 20:38:25 8opud4vC.net
Winだと、printfとかが使えなくなかったっけ。

420:名前は開発中のものです。
09/08/02 20:44:50 Ra9uEb/u.net
そんなことないよ

421:名前は開発中のものです。
09/08/02 20:47:12 we+x1PU3.net
>>419
標準出力の内容がstdout.txtに書き出されるとかそういうのじゃなくて?

422:名前は開発中のものです。
09/08/02 22:29:17 8opud4vC.net
>>421
そう、それです。めんどくさいよね。

423:名前は開発中のものです。
09/08/03 02:33:22 iR0h6COQ.net
SDL_SetVideoModeを繰り返し呼んでも問題ないでしょうか

424:名前は開発中のものです。
09/08/03 03:43:12 iR0h6COQ.net
SMPEG_playで再生中の動画の現在の再生時間を得るにはどうしたらいいですか

425:名前は開発中のものです。
09/08/03 03:51:05 iR0h6COQ.net
SDL_getinfo()でできましたありがとうございました。

426:名前は開発中のものです。
09/08/03 05:22:51 zcH5fUUq.net
サンクスコ
とりあえず__WIN32のだけ適当に作るわ

427:名前は開発中のものです。
09/08/03 14:13:15 LWn7Xmbh.net
_WIN32はあったけど__WIN32はなかったような

428:名前は開発中のものです。
09/08/04 01:32:24 fCZ60H43.net
やけにCPU使用率高いなと思ったらSDL_VideoDriverName()の結果が"windib"でさらに
SDL_SetVideoModeの戻り値のflags見たらSDL_HWSURFACEがセットされてねえし。
ネットの情報調べたらデフォルトでwindib使うようになっててハードウェアアクセラレーション使いたかったら
opengl使えとか書いてあるしまじ糞ライブラリ

429:名前は開発中のものです。
09/08/04 01:55:52 fCZ60H43.net
デフォルトでハードウェアアクセラレーションの効かないグラフィックライブラリ。
SDL_putenv("SDL_VIDEODRIVER=directx");やっても遅くなったし。。

430:名前は開発中のものです。
09/08/04 01:59:36 NixP6Nts.net
>>427
ちょっとSDL_main.h辿ってたら
#if defined(__WIN32__)
だったからこのまま使ってるんだけど、
WIN32、_WIN32、__WIN32、__WIN32__とも動作するみたいだった

431:名前は開発中のものです。
09/08/07 16:53:05 oA4Vb9yJ.net
マウスがウィンドウの内部にあるかどうか判定する方法ありませんか?
ウィンドウの外にいくとマウスがクリックしたことになるので。

432:名前は開発中のものです。
09/08/07 19:39:29 6E06gPMO.net
たまに >>482 みたいな勘違い君がいますがSDLはグラフィックスライブラリではありません.
- 画面の初期化
- ジョイスティック,マウス,キーボードでの入力
- PCM出力
のためのライブラリです.

ってか昔Windows環境のデフォルトドライバは dirextx だったんだが
ちょっと前に windib がデフォルトになった.現状の SDL の directx ドライバ
ってDirectX 5 とかだしね.
今の directx ドライバ使ったとしても SDL_FULLSCREEN|SDL_HWSURFACE を指定して
かつ実際にハードウェアサーフェスになってなければただのメモリコピーだし速くもならない.

素のSDLのBitBlitで作るのはスーファミくらいのレベルのゲームまででそれ以上
やりたかったらOpenGLを使う.これ世界の常識.あとマルチプラットフォームに
興味ないなら最初から DirectX 直接使っておけばよい.

# SDL 2.0 とかになればこの辺の状況も少しは変るだろうけど…

433:名前は開発中のものです。
09/08/08 01:51:27 tookfkje.net
>>482に期待

434:名前は開発中のものです。
09/08/09 01:17:07 F8IxnPoP.net
OpenGLでやるにしてもSDLとOpenGLをつなぐ部分の資料を少なすぎてすぐいきづまるし。まじSDLは糞。
Linuxで2Dゲーム作りたい人くらいしか存在価値ない。winでやるならwin32api直の方がまし。
やっぱオープンソースは糞。人間は金が絡まないと本気にならないのだ。

435:名前は開発中のものです。
09/08/09 04:09:35 x7A49lm+.net
testgl.cで十分だろ。

436:名前は開発中のものです。
09/08/09 05:14:51 NGT++n2c.net
>>434
いきづまるのは勝手だが、SDL+OpenGLはなんの問題もないよ。
とりあえず、
URLリンク(www.libsdl.org)
でも見ればいいと思うよ。


437:名前は開発中のものです。
09/08/11 09:40:10 IzCsGYWI.net
>>434
>>435 のおっしゃるとおり

URLリンク(risky-safety.org)
こちらさんのhtmlのソースを眺めて、たどる

438:名前は開発中のものです。
09/08/11 19:09:27 KfVzNOIz.net
煽りのフリした教えてくんか糞が。
夏だな。

439:名前は開発中のものです。
09/08/17 09:02:39 cbNmXUcC.net
お前がな

440:名前は開発中のものです。
09/08/17 12:30:53 GuHWIeqL.net
いいや、俺が夏だ

441:名前は開発中のものです。
09/08/17 20:33:30 ONtV7RcR.net
あたしの夏を取らないでよ!

442:名前は開発中のものです。
09/08/21 12:19:45 adQjjuHo.net
夏の荒らしさん乙です

443:名前は開発中のものです。
09/08/28 02:25:31 bI1GjPiJ.net BE:732248093-2BP(2)
sssp://img.2ch.sc/ico/anime_monar03.gif
あーめんどくせー
衝突検知用の画像作りたいんだけど、pngから透明部分以外を一定値として抜き出す楽な方法ない?

ってふと戻り値boolな関数でreturnさせたら0,1でちょうどいい具合だったのでそういう事にするチラシの裏

444:名前は開発中のものです。
09/09/04 15:39:01 yGl/RyVV.net
>> 443
一般的に言えばゲームとかだと画像通りの当たり判定を用意したりしないと思うが…

# まぁゲームとはかぎらないけど…

445:名前は開発中のものです。
09/09/04 18:38:35 VrgUM9IL.net
>>443
Photoshop使用
またはlibpngを使用して自作、とか

446:名前は開発中のものです。
09/09/04 19:38:17 AW5ZeIiJ.net
陰影などで実際よりも大きくなってる絵の場合、
見た目より当たり判定が大きくなるのは嫌だな。

447:名前は開発中のものです。
09/09/04 21:01:11 3y2blY+c.net
C++でゲーム作るならツール作成用にサブ言語覚えるのは必須だよな

448:名前は開発中のものです。
09/09/04 21:47:42 VrgUM9IL.net
自分はツール作成にVB 2005使ってた

449:名前は開発中のものです。
09/09/05 01:06:11 BLuHc9Vl.net
C++/CLI

450:名前は開発中のものです。
09/09/05 11:39:35 5TqflyB5.net
悪いこと言わないから.NETならC#かVB使いなさい

451:名前は開発中のものです。
09/09/05 14:06:19 6JitDinv.net
やっぱり VB 2005 + C++/CLI + アンマネージコード(SSE使用)
C++/CLIではアンマネージコードを含むことができるので、速度がきわめて重要な部分に使う。

452:名前は開発中のものです。
09/09/05 14:20:26 BLuHc9Vl.net
まぁ、小物はスクリプト系(そのときの気分で言語色々、場合によっては秀丸マクロも)
GUIが必要ならDelphiを使ってる
本格的なツールって大抵は既存のフリーでまかなえるし、データ整形がメインだから
秀丸とUWSCで間に合うよな

453:名前は開発中のものです。
09/09/05 14:47:07 6JitDinv.net
そしてさらに小物の場合はbashのシェルスクリプト
さらにさらに小物ならシェルスクリプトにせずbashシェルに長い1行で打ち込む

454:名前は開発中のものです。
09/09/05 15:26:27 H9l9Obux.net
SDLの話題ないんだな

455:名前は開発中のものです。
09/09/05 16:13:51 6JitDinv.net
SDL使いながら自前でソフトウェアレンダリングしてる人ってどれぐらいいるんだろ。

456:名前は開発中のものです。
09/09/05 18:50:24 BLuHc9Vl.net
3Dのレンダリングのこと?ワイヤーフレームなら自前処理したことあるけど結構楽しいな
SDL/OpenGLは環境構築ややこしくて諦めたorz
今はいい解説サイト増えたからまたやってみようかな

457:名前は開発中のものです。
09/09/10 23:41:48 ouJOE5Kg.net
3D目的でSDL使うメリットって何かある?

458:名前は開発中のものです。
09/09/11 02:16:55 V5iYPA+I.net
>>456
OpenGL つかえる環境作って SDL 使える環境を作ったら終わりだろ…
どこがややこしいんだ??

459:名前は開発中のものです。
09/09/12 16:14:02 AVCa/v68.net
>>457
インタラクティブなことをしようとするならオーディオレイヤと入力レイヤを備えているのはメリットだと思うが。
OpenGLを表示に使いたいだけならglutなりgluxなり使えばいいわな。

460:名前は開発中のものです。
09/09/12 17:31:48 0lmv1+mo.net
[GLUTを使用すべき場合]
瞬間的にウィンドウサイズを変更できるようにする場合。
簡単なプログラムをすばやく作成する場合。
[SDL+GLを使用する場合}
ウィンドウサイズを変更させたくない場合。
(ブルームエフェクトなどを使用する場合、ウィンドウサイズ変更時にエフェクト用の
バッファを割り当て直す必要がある)
音も鳴らす場合


461:名前は開発中のものです。
09/09/12 17:44:22 Su1dcMt0.net
GLFWというものもあるね
gamedev.orgのスレではこれがプッシュされてたみたい
URLリンク(www.gamedev.net)
GLUTは長い間メンテされてないからあまりお勧めしないとかなんとか

462:名前は開発中のものです。
09/09/12 18:37:25 nubInKl1.net
gl系は画像読み込みがものすごく不親切だった記憶がある

463:名前は開発中のものです。
09/09/12 19:39:29 MwUmjNb/.net
前にビットマップファイル作ってヘッダ消して読み込むってやらせてたけど
流石にこれは俺が悪いよな

464:名前は開発中のものです。
09/09/14 00:47:35 /xnNUQM4.net
オッス、おらニート
サマージャンボで3億円当たっちまってボーっと遊びまくってらこのスレ見つけたわけだ。

おまいらどうやって生活費まかなってんの。後学のためにおしえてくんろだぺ。

あ、俺もう寝るから、明日でもえぇよ。じゃーねぃ。?x2665;

465:名前は開発中のものです。
09/09/16 09:33:51 k4ZJL2/r.net
GLFWは前に試してみたけどlinux環境ではスタティックリンクできなくて
フォーラム見たら作者が仕様だと開き直ってたので捨てた
Win前提なら問題ないみたいだけどそれじゃGLFW使う意味半減だからなあ

最近は改良されてるのかもしれないが…

466:名前は開発中のものです。
09/09/16 11:00:02 StlQ+yhL.net
そこでgleeですよ

467:名前は開発中のものです。
09/09/20 01:42:21 /lXUq7jB.net
HSPでSDL_BlitSurface呼ぶとエラーになる
もうねるし

468:名前は開発中のものです。
09/09/20 05:27:05 zX6iAyXm.net
HSPからSDL呼んで何か嬉しいことってあるのか・・・?

469:名前は開発中のものです。
09/11/03 19:03:32 dUOYzCVS.net
>>467
そろそろ起きろよ池田ァ!!

470:名前は開発中のものです。
09/11/04 00:49:30 txEubNfN.net
ドンだけ寝てんだよw

471:名前は開発中のものです。
09/11/08 23:03:17 5mg8aONh.net
OpenGLメンドくせーだのDirect3Dメンドくせーだの言うが


出来て損なことは何一つねえ



のだよ
偉い人にはそれがわからんのです。

472:名前は開発中のものです。
09/11/10 23:41:21 iS3PwIuY.net
もう諦めたし

473:名前は開発中のものです。
09/11/13 21:50:34 Q4b/jXV7.net
WindowsにおけるSDLはDirectXを利用しているんだけどな。

474:名前は開発中のものです。
09/11/13 22:11:37 XT+fnpy7.net
DirectX5だっけか?

475:名前は開発中のものです。
09/11/13 22:38:40 FHBMJcaz.net
win32apiのラッピングライブラリじゃねえの

476:名前は開発中のものです。
09/11/14 12:27:52 0S0r62R2.net
SDL+OpenGLでゲーム作ってます
ゲームの流れは
動作処理→描画→Swap→Delay

動作処理→Swap→描画→Delay
のどちらがよいのでしょうか?垂直同期待ちについてもよくわからないのでそこと包めて教えてください

477:名前は開発中のものです。
09/11/14 12:29:23 0S0r62R2.net
二個目は動作処理→描画→Delay→Swapでした
連投申し訳ありません

478:名前は開発中のものです。
09/11/15 23:04:16 zpJnzLrg.net
映像信号は左から右へ1ドットずつ、それを上から下へ1ラインずつ送っているんだ
下まで送りきった後、また上から送りなおすまでに若干の準備期間があって
その期間が来るのを待つのが垂直同期待ち

描画が終わったからと言ってすぐSwapしてしまうと、
送信前と送信後の境目で映像を切り替えてしまうことがあり
ちらついたように見えてしまう
これを俗にティアリングと呼んでいる

垂直同期待ちをする場合はSwapの前に必ずDelayが入る

479:名前は開発中のものです。
09/11/15 23:29:35 C19h/pYA.net
言いたいことは分かるけど476が勘違いしそうだな
SDL_Delayとティアリングが起こるかどうかは直接関係ない。
垂直同期待ちを有効にしてある場合はティアリングが起きないように
Swap時に自動的に内部で待機が行われる(>>478のいうDelay)ので
描画とSwapの間にSDL_Delayを入れる必要はない。むしろ入れたら遅れすぎてしまうかも。

480:名前は開発中のものです。
09/11/15 23:41:54 zpJnzLrg.net
あぁそうだ。478で言うDelayはSDL_Delayのことじゃなくて、単なる待ち時間と捉えてくれ。
補足サンクス。

481:名前は開発中のものです。
09/11/16 17:42:23 +8XK/sK6.net
>>476
Swap ってことはダブルバッファ使ってるって前提で言うと

1) 垂直同期待ち ON(SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定している)なら
SDL_GL_SwapBuffers() で自動的に垂直同期待ちするので SDL_Delay() などは必要ない。

処理→描画→SDL_GL_SwapBuffers()[自動でVBLANK待ち]

2) 垂直同期待ち OFF なら SDL_Delay() で適当な時間待って SDL_GL_SwapBuffers() を呼べばいいんじゃないだろうか。

処理→描画→SDL_Delay(適当)->SDL_GL_SwapBuffers()

1) はモニタのリフレッシュレート依存のフレームレートになる。
2) はティアリングするけど、自分でフレームレートの調整ができる。

ってとこじゃないだろうか。

ちなみに俺の環境(Debian) だと環境変数 __GL_SYNC_TO_VBLANK に
0 以外の値が入ってないと SDL_GL_SWAP_CONTROL に 1 を設定しても
垂直同期待ちしない。

482:名前は開発中のものです。
09/11/26 19:03:17 CidvYtOP.net
質問ですが、
FR・LGのROMの0xF00000~0xFDFFFFを
使っても大丈夫なのでしょうか

既出だったら申し訳ありません

483:名前は開発中のものです。
09/11/30 14:53:20 zYRTMWSr.net
SDL_FULLSCREEN で真ん中に寂しく表示される場合があ
るけど、同じ SDL 使ってて mplayer とかはどんな解像
度でもちゃんと画面一杯に出るのは mplayer が頑張っ
てるってこと?

484:名前は開発中のものです。
09/11/30 17:17:02 KrKp2mDg.net
>どういう理由であれ、ハードウェアによる解像度変更ができない場合は
>一段階解像度の高いモードが使われ、黒い背景の中央に表示ウインドウが置かれます。

だから、例えば最低解像度が640*480の環境で320*240を指定するとそういう状態になる。
確実に画面いっぱいに表示したければ、SDL_ListModesで作成可能な解像度を調べて
適切な拡大処理をすれ。

485:名前は開発中のものです。
09/12/01 00:26:20 k3liZ+0u.net
mplayerがどうしてるかは知らんけど、たぶんオーバーレイってやつだと
思うよ。SDL_CreateYUVOverlayで作れるけど、対応してればハード
ウェアで拡大してくれる。前にためしで使ってみたけど、色指定が面倒
だから使うのやめた。画面一杯に拡大しても、CPU使用率ほとんど
変わらないのは魅力的だったけど。

486:名前は開発中のものです。
09/12/01 05:20:13 q115eOhs.net
mplayer のログに YUV planner がどうの、と出るから
多分それだと思う。使ったことないや…

URLリンク(en.wikipedia.org)

487:名前は開発中のものです。
09/12/01 07:29:30 q115eOhs.net
ffmpegのチュートリアルが詳しかった。
URLリンク(www.dranger.com)

488:名前は開発中のものです。
09/12/01 19:43:38 JC6VUAq8.net
一番いいのは、ユーザーに選択させること。

こっちは800x600前提で作ってりゃいい


489:名前は開発中のものです。
09/12/01 21:18:45 q115eOhs.net
描画部をアダプタパターン的にリファクタリングしてス
ケーラを挟むようにした。とりあえず RGB のままでソ
フト的にスケールさせて、アプリ側に問題ないようなら
オーバレイを試してみるよ。

ffmpeg のライブラリ使うと変換も楽そうだし。

URLリンク(www.dranger.com)

>>485
ヒントサンクス。

490:名前は開発中のものです。
09/12/05 09:27:44 maU44PH4.net
URLリンク(cefiro.homelinux.org)
を参考にMinGW5.1.6にsmpeg 0.4.4を入れようとしているのですがmakeに失敗します。
いくつかのサイトで-lstdc++が必要とのことで

cd smpeg-0.4.4
env LIBS="-lstdc++" sh configure --prefix=/mingw
make

エラーの内容は
undefined reference to 'SDL_XXX'
undefined reference to '__cxa_pure_virtual'
などです。SDLはインストール済みで/mingw/lib/libSDL.aはあります。

どなたか解決策をご存知ないでしょうか。

491:名前は開発中のものです。
09/12/05 13:04:40 xcDdDp0c.net
>>490
make CC=g++ CXX=g++ LD=g++
と打つと成功する可能性があります。

492:名前は開発中のものです。
09/12/05 21:38:18 maU44PH4.net
>>491
アドバイスありがとうございます。
コンパイルやリンクにc++の代わりにg++を使うようになったのですがエラーメッセージは変わらずです・・・
エラーを出力して調べてみたところ

Warning: This library needs some functionality provided by -lSDLmain.
I have the capability to make that library automatically link in when
you link to this library. But I can only do this if you have a
shared version of the library, which you do not appear to have.

と出ていました。SDLがリンクできていないのがエラーの原因のようですが上記メッセージと関係あるでしょうか?
ちなみにPATHを通したC:/MinGW/binにはSDL.dllというshared libraryがあります。

もし何かわかる方がいたらアドバイスください。

493:名前は開発中のものです。
09/12/05 22:13:58 7PVQwHSV.net
>>492
SDL のダイナミックライブラリが見つからないと言っている。
libSDL.a はスタティックライブラリ。

494:名前は開発中のものです。
09/12/05 22:14:41 7PVQwHSV.net
ああ、dll はあるのか。
>>490 に書いてあるパスとよく見比べてみろ。


495:名前は開発中のものです。
09/12/06 00:58:57 J5Ambf4a.net
>>494
dllは/usr/local/binじゃなくて/mingw/binにインストールしたんですが、MSYSでecho $PATHとやると
.:/usr/local/bin:/mingw/bin:/bin:...
となっていてSDL.dllがおいてある/mingw/binはパスに入ってます・・・もうお手上げ

よく見たら
URLリンク(cefiro.homelinux.org)
のサイトにMinGWでコンパイルしたsmpeg-0.4.4のバイナリがおいてあるのでそれを/mingwに展開したらとりあえず使えるようになりました。

496:名前は開発中のものです。
09/12/06 08:18:47 tD3g+RMw.net


497:名前は開発中のものです。
09/12/27 21:37:15 E6vqQ5Mm.net
同じプログラムでSDLをダイナミックリンクしたものと、スタティックリンクしたものを作成したのですが、
ダイナミックリンク版ではコンソールへ標準出力されていたものが
スタティックリンクでは出ないような現象が発生しています。

SDLのリンク方法によってこういう現象は発生するものなのでしょうか。
また、リンク方法が原因である場合、スタティックリンクで標準出力へ出力する方法は
あるでしょうか。

498:名前は開発中のものです。
09/12/28 02:47:12 Fq5F3Q16.net
>>497
標準出力に表示されない設定でコンパイルされたライブラリをリンクしてるだけでしょ



499:名前は開発中のものです。
09/12/28 02:50:41 ueppcxNQ.net
なんだこのデジャブは

500:名前は開発中のものです。
09/12/28 16:18:04 v3DIc8rS.net
>>498
1ライブラリが本体のソースの動作まで変えてしまうものなんですね。
勘弁してほしいものですが...


--enable-stdio-redirect
ですかね。試してみます。
でも現状ではファイルにリダイレクトされてるわけでも無いようですが...

501:名前は開発中のものです。
10/01/02 20:53:13 K2AtahHI.net







makeしたら負けだと思う









502:名前は開発中のものです。
10/01/02 22:20:06 WElBVpUZ.net
正月早々審議中ですがな

503:名前は開発中のものです。
10/01/03 22:45:29 v00n4e/G.net
floatに頼子だ割ったプログラムソースを目指す人のためのブランド「float志向」

504:名前は開発中のものです。
10/02/10 06:01:03 42Ej3nDs.net
SDL_MixerでBGMを任意の位置でループさせる方法はないものか・・・。
やっぱりSDL_Audioで作るしかないのかな

505:名前は開発中のものです。
10/02/10 14:20:15 Epllauxu.net
どうしてもSDL_Mixerでやりたきゃオーディオソースを切っちゃえばいいじゃん
どうせならOpenAL使おうぜ

506:名前は開発中のものです。
10/02/11 20:04:23 eol/wS6u.net
SDL_WM_SetCaptionで日本語を表示したいのですがどうすれば良いですか?

507:名前は開発中のものです。
10/02/11 22:32:07 TYw/tKcb.net
最新バージョンだと文字コードがUTF-8だったと思うんで変換して渡せばいいはず。
変換の仕方はググって下さい。

508:名前は開発中のものです。
10/02/12 05:23:48 50DkRwmT.net
>>505
ありがとうございます

509:名前は開発中のものです。
10/02/20 00:52:58 P6PcOv95.net
変換の仕方がわかりませんでした。

510:名前は開発中のものです。
10/02/21 10:34:00 w53qIXyc.net
こんなんあったよー。

Shift-JIS -> UTF8
URLリンク(www.atmark.gr.jp)
URLリンク(www2s.biglobe.ne.jp)

511:名前は開発中のものです。
10/02/21 16:56:39 3J1UUm0O.net
IBMのICUを使おうぜ

512:名前は開発中のものです。
10/02/21 19:59:42 ufBia+CD.net
変換できました。
UTF-8は可変長なのが糞。

513:名前は開発中のものです。
10/02/21 23:58:24 EauoWI/j.net
SDLdoc-jp を置いている tacoworks.jp の管理人です。
サーバの移転を行うため、3/15 のあたりに DNS 情報の切り替えを予定しています。

ドメイン名自体の変更はないので移転後も
URLリンク(www.tacoworks.jp) のURL は
そのままアクセスできますが、
切り替えの時期に一時的に見えなくなるかも知れません。
もしそうなったら申し訳ありません。


514:名前は開発中のものです。
10/02/27 21:52:04 EEwTwLby.net
openglを使う時に最初の画面が真っ白になるのを回避できませんか?
できれば画像を読み込んで、いきなりそれを表示したいのですが。

515:名前は開発中のものです。
10/03/04 02:20:13 UchClD6H.net
>514
もしかしてSDL_SetVideoModeしてから最初のSDL_GL_SwapBuffersを呼ぶまでの時間が長いんじゃないのか?
ファイルの読み込みとか

516:名前は開発中のものです。
10/03/05 22:08:24 hwXnLLqk.net
いえ、別に何もしていませんが、最初の一瞬だけ真っ白になります。
それが嫌なのです。

517:名前は開発中のものです。
10/03/08 13:08:12 CzYN7Tsj.net
>>514
うちではならない。
再現する最小のソース書いてうpするか他のPCで試しても同じになるか試してみるか。

518:名前は開発中のものです。
10/03/08 18:55:21 Bw1LtACR.net
#include <SDL.h>
#include <SDL_opengl.h>
#include <windows.h>

#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "opengl32.lib")

void End(); // 終了処理
bool PollEvent(); // イベント処理
bool Init();

SDL_Surface *gScreenSurface;

int main(int argc, char* argv[])
{
// 初期化
if( !Init() ){
printf( "初期化に失敗しました" );
return 0;
}

// メインループ
while( 1 ){
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);

// 四角形を描く
glBegin(GL_QUADS);
// 描画色を白に設定
glColor3f(1.0, 0.0f, 0.0);


519:名前は開発中のものです。
10/03/08 18:59:11 Bw1LtACR.net
// 4つの頂点を指定
glVertex3f(100.0f, 100.0f, 0);
glVertex3f(540.0f, 100.0f, 0);
glVertex3f(540.0f, 380.0f, 0);
glVertex3f(100.0f, 380.0f, 0);
glEnd();

// 更新を画面に反映する
SDL_GL_SwapBuffers();

// イベント処理
if( !PollEvent() )break;
}

// 終了処理
End();

return 0;
}

// 初期化処理
bool Init()
{
// SDLの初期化
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )return false;
SDL_WM_SetCaption("test", NULL);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
// ウィンドウの初期化
gScreenSurface = SDL_SetVideoMode(640,480,32,SDL_OPENGL | SDL_HWSURFACE);
glOrtho(0.0, 640, 480, 0.0, -1.0, 1.0);
glClearColor(255.0f, 255.0f, 255.0f, 255.0f);


520:名前は開発中のものです。
10/03/08 19:03:11 Bw1LtACR.net
glClear(GL_COLOR_BUFFER_BIT);
return true;
}

// 終了処理
void End()
{
// SDLの終了
SDL_Quit();
}
// イベント処理
bool PollEvent()
{
SDL_Event ev;
SDLKey *key;
while(SDL_PollEvent(&ev) )
{
switch(ev.type){
case SDL_QUIT:// ウィンドウの×ボタンが押された時など
return false;
break;
case SDL_KEYDOWN:// キーボードからの入力があった時
{
key=&(ev.key.keysym.sym); // どのキーが押されたかを取得
if(*key==27){// ESCキー
return false;
}
}
}
}
return true;
}

521:名前は開発中のものです。
10/03/08 19:07:50 Bw1LtACR.net
上のコードを試してみて下さい。
真っ白なウインドウが出てからちょっとしたら赤い四角形が出てくる
のですが、最初からいきなり赤い四角を表示したいのです。

522:名前は開発中のものです。
10/03/08 20:31:19 Kg6b0q6C.net
>>521
OS: windowsXP sp3
コンパイラ: gcc version 3.4.5 (mingw-vista special r3)
コンパイルコマンド: g++ hogehoge.cpp `sdl-config --cflags --libs` -lglu32 -lglut32 -lopengl32

私の環境では初回起動時に一瞬、背景が透明なウィンドウが生成されてから、中身が表示されました。
二回目以降は最初から白の背景に赤い四角が表示されます。

523:名前は開発中のものです。
10/03/08 23:00:18 vwTt08PI.net
通りすがり
OS : Linux 2.6.18-164.11.1.el5.centos.plus i686 i386
コンパイラ : cc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
コマンド : cc piyo.cxx `sdl-config --cflags --libs` -lglut

背景が黒のウィンドウができてから白の背景に赤の矩形が表示された

524:名前は開発中のものです。
10/03/09 01:09:04 Vf4aRsZC.net
SDLがウィンドウ関連の処理にてこずってるようにも見える。

苦肉の策として サイズ(1 x 1) でウィンドウを作っておいてから
初期化が終わったあとでサイズ変更(or 作り直す)すると
まだマシかもしれない。

525:名前は開発中のものです。
10/03/09 20:29:54 cbWSj+ct.net
関係ないけど
>glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
これ変じゃない?

526:名前は開発中のものです。
10/03/09 22:19:00 SrDy9O7H.net
画面上をクリックするゲームを作ってるんですが、
画面上でマウスカーソルを動かしまくるとイベントを受け付けないフレームが出てきます。
どうすればいいですか。

527:526
10/03/09 23:01:04 SrDy9O7H.net
すいません。自己解決しました。
イベントキューからイベントを取り出してないだけみたいでした。

528:名前は開発中のものです。
10/05/16 18:10:10 06+3luLg.net
下のコード動かすと画像表示しないで画面が真っ黒になります。
イベントハンドラのセット(SDL_SetEventFilter(&filterEventsHandler);)
を画像転送の後に配置すると画像表示されるんですけど
そういうものなんですか?何かルールありますのですか?

以下ソース(D言語)
-----------
void main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_SWSURFACE);

SDL_SetEventFilter(&filterEventsHandler);  // イベントハンドラ

// ビットマップ読込
SDL_Surface *image = SDL_LoadBMP("hell.bmp");
// 転送
SDL_BlitSurface(image, cast(SDL_Rect*)0, screen, cast(SDL_Rect*)0);

// イベントループ
bool done = false;
SDL_Event e;
while ( !done ) {
while ( SDL_PollEvent(&e) ) {
done = e.type == SDL_QUIT;
}
SDL_Delay(1000/30);
}
SDL_Quit();
}


529:528
10/05/16 18:22:50 06+3luLg.net
SDL_Flip( screen );
したら表示されました。イベントハンドラ設定したら
プライマリサーフェイスがクリアされるとか・・・?
わからねえ

530:名前は開発中のものです。
10/05/16 18:29:59 liwIcFmL.net
SDL_SetVideoModeのことろで、
SDL_DOUBLEBUFも指定しない場合、
SDL_Flip以外でも「誤って」画面表示される場合があります。


531:528
10/05/16 18:48:17 06+3luLg.net
>>530 ありがとうございます。
逆に偶然表示されたって感じなんですね。

532:名前は開発中のものです。
10/05/26 23:52:18 vxXpWbeN.net
ウィンドウを最大化状態から、「元の大きさに戻す」をした場合に、
SDL_ResizeEvent が発生しないのは仕様なのでしょうか。
WindowsXP です。

533:名前は開発中のものです。
10/06/15 06:08:43 uiRYjjiv.net
openalで音出せなくて泣きそうになってたけど、
sdlでやってみたら何の苦労もなく音鳴らせた。
難しいものだな。

534:名前は開発中のものです。
10/06/16 02:46:18 6fxhLOX2.net
URLリンク(www.kekkai.org)

ここがすごく良かったです。

535:名前は開発中のものです。
10/06/17 03:30:58 /dRDvNuV.net
keysymの"sym"ってどういう意味ですか?
何かの略語でしょうか?

536:名前は開発中のものです。
10/06/17 12:00:01 98v+kB9R.net
symbol

537:535
10/06/17 20:05:49 /dRDvNuV.net
>>536
ありがとうございました。

538:名前は開発中のものです。
10/08/01 10:17:44 mluWnsAb.net
GUI(ボタンとか)で使いやすいLIBってどれでしょうか?
軽めのやつで

539:名前は開発中のものです。
10/08/15 22:37:48 67G99BX9.net
WindowsでSDL使っています
ウィンドウのタイトルバーをドラッグしてるときに
処理がとまらないようにするにはどうすればいいんでしょうか

540:名前は開発中のものです。
10/08/17 08:20:53 zMkGM+He.net
SDLのソースを書き換えてWM_MOVEを別スレッドで処理すればできると思うけどオススメはしない

541:539
10/08/17 22:37:24 Z5rRbYV4.net
>>540
Tnx よし、DirectXにしよう

542:名前は開発中のものです。
10/09/22 02:09:41 4CYDiRJs.net
亀で人違いだが

>>382
thx!

ほんとSDL.netって流行ってないなw

543:名前は開発中のものです。
10/09/29 00:35:38 7qsETlO/.net
そんなもん俺ライブラリの一つに過ぎないんだから流行ってるも何も
SDLの人気の理由の一つとしてシンプルで簡単というのがあるけど
.NETは簡単にGPU使えちゃうからな
ブラウザ上で動く.NETのSilverlightなんかでもSDLとは比べ物にならないパフォーマンス出るんだぜ

544:名前は開発中のものです。
10/09/29 10:13:58 XTWVB9DN.net
DirectXやXNAの話か?
そっちの方が将来性あるしいいか。

545:名前は開発中のものです。
11/02/09 01:09:53 fPY7Ts0h.net
古いバージョンのsdlが欲しいのですが…
MacOS9用のsdlが本家で見つかりません。

546:名前は開発中のものです。
11/02/09 01:19:10 fPY7Ts0h.net
あ、URLリンク(www.libsdl.org)
にありました。
しかし、普通にたどれるようにして欲しいです。

547:名前は開発中のものです。
11/02/09 18:02:56 gbbiuBkv.net
SDLのサイトが壊滅的に使いづらいのは仕様

548:名前は開発中のものです。
11/03/01 20:27:17.27 wrZkViYa.net
SDLで日本語入力を実装したいのですが、SDL_inputmethod、SDL_textmanager、SKK
どれがついすやすいのでしょう?

549:名前は開発中のものです。
11/03/02 02:43:07.95 3VhYuOVm.net
懐かしいな、SDL。昔WindowsとMacOS9で同時開発しなくちゃならなくてこれも検討したな。
結局使わずにWindows用の自社ライブラリ移植したんだけど、どうして採用しなかったか
理由忘れちまった。

550:名前は開発中のものです。
11/04/08 19:08:36.82 3vhfM6We.net
書き込みテストも兼ねて・・・
なんであまり普及してないんだ?便利だと思うんだが・・・
OpenGL使ってて、ゲーム作るならGLUTよりSDL!と言われてたのに

551:名前は開発中のものです。
11/04/08 19:39:04.03 SgksuAsW.net
してなくは無いだろ
SDL.dllが同梱されてるゲームやデモは結構あるぞ

552:名前は開発中のものです。
11/04/08 19:47:03.15 RwixZFmm.net
ここだけしか見てないんだろ

553:550
11/04/09 13:24:10.96 0+0X4wI/.net
サーセンw
でもやっぱ資料が見つかりやすくはない・・
日本語にこだわるからかもしれんがorz
使うのが簡単とは言っても初心者にもおすすめって感じでは無いのか・・・?

更新が途中で数年止まってる入門サイトとか、リンク切れしてるサイトとかあったから
もう廃れたのかと思ってしまった

554:名前は開発中のものです。
11/04/09 13:47:45.09 W/U0DtuT.net
ライブラリの使い方(個々の関数の仕様)を知りたいのか、
SDLを使ったゲーム作りのチュートリアルを知りたいのかわからん。


555:550
11/04/09 16:52:40.30 0+0X4wI/.net
両方ですがどちらかと言うと後者です
今までは検索すれば入門サイトが2つも3つも出てくる環境でやってたので
もしかしたら探し方が甘いだけかもしれんが・・・

自分が探してるのはSDL自体の使い方というより、
SDL(SDL_imageなども)とOpenGLで作る2D、3Dゲームのごく基本的な部分
例えば画像を読み込んでテクスチャにしたりとかそのあたり

関数の仕様等は調べられるけど、具体的で決定的な使い方がわからず
「これでいいのか・・・?」といった状態です・・・

556:名前は開発中のものです。
11/04/09 17:26:40.81 5I2upZsh.net
「sdl_surface texture」でわんさか出てくるんで、確かにこれ探せないなら使うの辛いかもな。

557:550
11/04/09 17:42:33.83 0+0X4wI/.net
本当だ・・・orz

558:550
11/04/09 18:26:07.67 0+0X4wI/.net
いろんな例のサイトがありますが自分なりにまとめてみます
ありがとうございました。

559:名前は開発中のものです。
11/04/10 16:33:33.85 4SC+Y1ca.net
連投ばかりスマソ
うーん、、、いっぱい検索して調べれば最後にはなんとかなるけど
やっぱ初心者が容易にとっつける物ではない感じ
わがままかもしれないが、もうちょい至れり尽くせりなサイトがあってもバチは当たらないとも思った
SDL+OpenGLはクロスプラットフォームで有望な選択肢だと思ったし、いつか自分でまとめたいと思った

560:名前は開発中のものです。
11/04/10 21:11:36.60 kKxf3jYA.net
>>559
一口に初心者といってもいろいろあるよね。

a. OpenGLのみ経験済み。SDLは初めて。
b. SDLのみ経験済み。OpenGLは初めて。
c. SDLとOpenGLそれぞれ個別に経験済み。SDL+OpenGLは初めて。
d. SDLもOpenGLも初めて。だけどゲームは作ったことがあります。
e. ゲーム以外のジャンルのプログラムは経験済み。
f. そもそもプログラムを作ったことがありません。
g. その他

バックグラウンドもわからずに初心者って言われると上記くらいは想像できるので、
まあ>>550にはガンバレくらいしか言えないw


561:名前は開発中のものです。
11/04/13 23:41:29.65 NUdI+73N.net
URLリンク(hg.libsdl.org)
これとSDLのAPIリファレンス見ればだいたい分かるはず。

SDLとかGLUTは描画に専念できるから導入にはいいと思う。

562:名前は開発中のものです。
11/04/16 04:52:16.64 erZQeP4t.net
これは本当にありがたい、サンクスです。

563:名前は開発中のものです。
11/04/16 12:07:50.70 3baNslMI.net
GLUTなんて使ってゲーム作る人は
DirextXのときはDXUTを使うんだろうか。

564:名前は開発中のものです。
11/04/17 20:23:10.05 ZBQovyV1.net
GLUTって数値計算シミュレーションの可視化とかに使うもんでしょ
DirectXで2Dゲームなら素のままで十分いける

565:名前は開発中のものです。
11/04/17 20:40:20.64 86l2Ce3f.net
別にDirectXでシミュレーションしたっていいんだよ。
大学とかだと研究用PCがLinuxだからOpenGLの例が公開されてるだけで。
そういう時にToolkitとして使われるのがGLUT。

566:名前は開発中のものです。
11/04/17 20:48:13.96 Wu+6B6Fq.net
>564

久しぶりに言ってみるか。
お前は何を言っているんだ?


567:名前は開発中のものです。
11/04/18 05:17:05.14 DVr4ycfQ.net
GLUTではウィンドウの移動ができたのに
SDLではなんでできないんだろう・・・

568:名前は開発中のものです。
11/04/18 11:08:19.73 tjFZajkk.net
>>567
SDL 1.2の頃はまだ不要だと考えてたんじゃない?
SDL 1.3ならSDL_SetWindowPosition()があるよ。
URLリンク(wiki.libsdl.org)


569:名前は開発中のものです。
11/04/19 09:45:24.35 6iXFyxX4.net
1.3からはマルチウインドウに対応するんだっけ
窓そのものをキャラクタに見立てたウザシューティングが作れるな

570:名前は開発中のものです。
11/04/19 17:05:15.95 I6Qru0C5.net
なるほど、thxです。1.3に期待。

571:名前は開発中のものです。
11/04/19 17:15:00.06 p5erbUzU.net
だいぶ待ってるんだが、リリースいつになるんだろうなあ。
現状普通に使えるの?

572:名前は開発中のものです。
11/04/20 09:14:39.26 nhxAMt4z.net
>>571
つまり、現バージョンまでを一度も使用せず、次バージョンを待ってると?

573:名前は開発中のものです。
11/04/20 10:11:21.19 bUP197ZB.net
安定版にしか興味がないならSDL 1.2一択かな。
SDL 1.3には1.2にない機能が入っているから、
それらに興味があるなら1.3を使い始めればいいと思う。

574:名前は開発中のものです。
11/04/20 10:21:22.66 er++fOcK.net
いや、1.2は使い倒してる
1.3はwarning under construction! とか書いてあるけど
やっぱどっか未実装だったりすんのかなあって

575:名前は開発中のものです。
11/04/20 11:35:26.85 xWfKJzFy.net
これ見ながら
URLリンク(www.opengl.org)
早速1.3を使ってみたけど、
これは動いたが自分のプログラムはSDL_imageのIMG_Loadで落ちるようになった。
何がいけないんだろうか。

576:名前は開発中のものです。
11/04/20 12:32:38.37 bUP197ZB.net
>>575
SDL 1.3を使ってSDL_imageをビルドしなおしているよね?
手元の環境で使う分には問題ないんだけど。

577:名前は開発中のものです。
11/04/20 12:33:49.11 bUP197ZB.net
ごめん、>>576はSDL 1.3とSDL_imageの話であって、
>>575のリンク先のチュートリアルをビルドしたわけじゃないです。

578:名前は開発中のものです。
11/04/20 16:26:49.25 xWfKJzFy.net
コンパイル済みのBinaryのを使ってましたorz

579:名前は開発中のものです。
11/04/21 02:30:22.36 P5c9O4MC.net
できればzlib・libpngのビルド→SDL_imageのビルド、libogg・libvorbisのビルド→SDL_mixerのビルドとか
長い手順踏みたく無いけどその場合は安定版のSDL1.2じゃなきゃ駄目かorz
そりゃそうかorz

580:名前は開発中のものです。
11/04/28 00:11:23.76 ZUaoJQWR.net
SDL Perl を使ってゲームっぽいものを書いてみました。
けれどゲーム製作についてサッパリ知らないもので、
ある動作を実現するのにどんな定番なやり方があるのか知りたく思っています。

ゲーム製作初心者向けのサイトやドキュメントや書籍をご存知なら、
教えていただけないでしょうか?


581:579
11/04/29 21:22:57.78 mtC0cwXi.net
SDL 1.3が正式にリリースされたら、そのバイナリ(本体とSDL_imageなど)の配布が始まるんでしょうか・・・?

582:名前は開発中のものです。
11/04/29 23:16:38.90 D9JVCgHa.net
今更だが>>567
リサイズ時にスクリーン座標 100, 50 へウィンドウを移動させる:
SDL_putenv("SDL_VIDEO_WINDOW_POS=100,50");
リサイズ時にディスプレイ中央へウィンドウを移動させる:
SDL_putenv("SDL_VIDEO_CENTERED=1");
SDL1.2 の幾つかのビデオドライバのみの対応だけど

それと SDL1.3 正式版が zlib ライセンスになってリリース予定らしいね


583:567
11/04/30 10:16:14.24 aGut9tJ0.net
ありがとう、試してみます。

1.3からはiPhoneやらandroidへの移植が可能になるみたいですが、
これもバイナリ配布で簡単に導入できるようになるんでしょうか
そこが気になって夜も眠れないorz

584:567
11/04/30 11:22:26.45 aGut9tJ0.net
すいません考え方を変えます

粘着でスマソですがやっぱり情報が探せない。。。
VC使っててSDL_imageにlibpngをリンクする方法が未だわからないorz
どのサイトを見ても「pngを読むにはlibpngが必要」とだけ書いてあって
ビルド時にlibpngの存在をどう伝えるのかがわからん
SDL_mixerのoggも同じ

SDLで書いたコード見ると簡潔で初心者にもうってつけな印象だったけど
実際はやっぱりそうじゃないのか

android移植だっておそらくNDKだろうし、やろうとしたら導入で死にそうorz

585:名前は開発中のものです。
11/04/30 14:00:20.10 VB+AI5nC.net
ソースコード追えばいいよ
で終わらすのもあれなんで

SDL_image や SDL_mixer とかのソース内では #ifdef 使ってライブラリ利用を切り替えてる
SDL_image+libpng なら追加のオプションに
/D "LOAD_PNG"
を入れたり、
/D "LOAD_PNG_DYNAMIC=\"libpng.dll\""
なんて入れると VC++ が libpng の API を参照するようになるかもね

586:名前は開発中のものです。
11/04/30 14:19:25.30 VB+AI5nC.net
それとその iPhone やら Android やら DS への移植について

あれらは共有ライブラリの仕組みが無いから
否応無しに SDL をスタティックリンクしなければいけない
なので各開発者は自分の開発環境で扱えるように一からビルドする必要がある

開発環境ごとにスタティックリンクに必要なファイルは異なるわけで
余程優しい人が居なければバイナリ (ビルド済み lib ファイル等) 配布なんて無いかもね


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch