1 名前:デフォルトの名無しさん [04/12/22 03:59:48] DirectXなんて捨てちまえ。 これからはSDL。 本家 www.libsdl.org/index.php ゲームとか adas.lolipop.jp/digit/index.php?SDL サンプル saka.moo.jp/Linux/SDL.html
291 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:01:50 ] ものすごく恥ずかしい質問かもしれないけど・・・ ウィンドウタイトルに日本語は使えないの?
292 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:11:29 ] 使える
293 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 03:02:50 ] >>291 少なくともWindowsでは使えない。 文字列をutf-8に変更した時からみたいだね。 バグ報告は出ているけど、いつ直ることやら。 って思ったら、とりあえずパッチが上がってた。 古いバージョンを使うか、バグ報告どおりに自分で直すと良いかと。 ttp://bugzilla.libsdl.org/show_bug.cgi?id=365
294 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 07:32:03 ] 便乗して恥ずかしい質問してみるけど、Alt+F4ってどう実装してる? メインループのPollEventで、下のようにやってもAltを認識してくれないぽ 環境はwin2k、DevC++(gcc+mingw)、SDL1.2.11 bool PollEvent(){ SDL_Event ev; while(SDL_PollEvent(&ev)){ switch(ev.type){ case SDL_QUIT: return false; break; case SDL_KEYDOWN: if((ev.key.keysym.sym == SDLK_F4) && (ev.key.keysym.mod == KMOD_ALT)) return false; break; } } return true; }
295 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:38:35 ] ev.key.keysym.mod & KMOD_ALT
296 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:32:25 ] 泣いた サンクスコ それだとうまくいきました ビットごとに違うフラグあるんだから全体を==で比較しちゃ駄目ですね
297 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 15:20:17 ] SDL_ttfのこの辺って戻り値が参照渡しだけど、もしかしてこの関数内でサーフェス用に確保されたメモリってほったらかしだと解放されないで、新しく確保した領域にポインタが更新されるだけ? ループの中でテキスト生成させてたら、秒速1MBでメモリ増えてくんだけど(;'A`) >SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Color fg)
298 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 15:47:56 ] >>297 SDL_ttfの戻り値は自分で開放するもんだ. ってかループ中に使うものじゃない.
299 名前:デフォルトの名無しさん [2007/06/17(日) 15:03:37 ] あげ
300 名前:デフォルトの名無しさん [2007/06/20(水) 14:35:46 ] さてこれからC++とSDLで勉強しようと思う俺様が通りますよ
301 名前:デフォルトの名無しさん [2007/06/20(水) 21:19:00 ] >300 とりあえず初心者の〜に行ってこい
302 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:37:28 ] SDL1.2.12になってからVisualC++ 2005 EE SP1でコンパイルしても実行出来なくなったんですが 原因が分かる方居ますか?
303 名前:デフォルトの名無しさん [2007/08/19(日) 20:16:49 ] 1.2.12いれたら -ansiオプションで警告出たのでなんだろと思ったら SDL/begin_code.hの93,94行目のコメントがC++形式だった
304 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 21:43:36 ] >>303 ほんとだw svn見てみたらそっちは直ってたよ
305 名前:デフォルトの名無しさん mailto:age [2007/08/19(日) 23:13:34 ] www.freewebs.com/activetv/?YTV=Return+to+Forever
306 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 11:32:36 ] 移転先 SDLスレ ver.2.0 pc11.2ch.net/test/read.cgi/gamedev/1141126812/
307 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 17:46:02 ] >>306 さよなら。いってらっしゃい。 ↓続きをドゾ
308 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 23:59:43 ] SDL使ってゲームを作り始めました。ここで質問なんですが、 SDL_GetKeyState()はゲームのメインループ1回に1度呼び出すのと、 SDL_PollEvent()でSDL_KeyboardEventを拾った時に呼ぶのとどっちがいいんでしょう? 前者では常にそのタイミングでスキャンでき、 後者ではOSがイベントを中継する分だけ(処理落ちが激しいときなどでは)反応が遅れる可能性があるが キーボードに触れられなければSDL_GetKeyState()が呼ばれないためその分軽い(1msも掛からないと思うけど・・・ ということじゃないかと考えているのですけど、一般的にはどちらが使われる、とかありますか? あと、SDL_PollEvent()でイベントが何もきていないときにゲームメインループを進めているのですが、 ウィンドウのタイトルバーを右クリックしてポップアップメニューが表示されている間や、 タイトルバーをドラッグしてウィンドウが動いている間などはゲームメインループが進みません。 こういった状態でもゲームメインループをまわすにはどうしたらいいですか? (Windowsでの話です。)
309 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 03:28:33 ] >>308 普通は毎フレーム呼ぶんじゃないかな? ソース読めばわかるけど SDL_GetKeyState() は実はポインタを返すだけの処理だから どっちでも大差ないだろうけど.最適化を考えるなら1フレームあたり1回しか 呼ばれない低負荷の関数コールを削ることを考えるよりもどこがボトルネックに なっているか調べてほかに重い場所を探したらいいと思うよ? # 実は最初に一回呼んでポインタを保存しておいてループ内ではそれを参照するとかでも # 動く気がするけどその動作が保証されてるわけじゃないから…まぁ適当にやってくれ
310 名前:308 mailto:sage [2007/09/28(金) 22:57:22 ] >>309 ありがとうございました。ポインタを返すだけだったのか!
311 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 10:02:45 ] SDL 1.3の新機能についてRyanさんが書いてる。 ttp://icculus.org/cgi-bin/finger/finger.pl?user=icculus&date=2007-10-07§ion=sdl13
312 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 12:51:23 ] ついにマルチウィンドウが来ますな。 過去互換性も整理する方向みたいね。 いつ頃投入予定なのかな?SDL1.3
313 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 12:59:24 ] マルチウィンドウ出来たら Gtk+ の代わりに使えるかな
314 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 13:27:31 ] それはパーツの種類が少ないからムリだと思う。 SDLの上にウィジェット・ツールキットを構築するのはありだと思うけど。
315 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 01:34:04 ] RubyでSDLを弄り始めたんですが、これはスタンドアロン専用ですか? CGIでは使えない?
316 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 02:49:11 ] >>315 CGIで何に使うんだ?画像生成とか?
317 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 03:38:31 ] >>316 CGIと言うか、RubyとかWEBアプリ用と聞いたので、 当然ライブラリとかもWEB上で使えると思ったんだけど・・・
318 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 03:51:17 ] RubyがWEBアプリ用とかいう認識が根本的に間違ってることを理解してくれ # まぁ向いてる分野ではあるけど
319 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 13:09:09 ] > RubyとかWEBアプリ用と聞いたので、 違うよ。全然違うよ。 > 当然ライブラリとかもWEB上で使えると思ったんだけど・・・ なんで?WEB上ってどこで? 普通、クライアントサイドで動かす、SDLを サーバーで動かす利点は何だろう?
320 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 17:39:12 ] >>317 そもそもその情報をどこで知ったの?
321 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 18:23:09 ] SDLと関係ない話になりそうな流れだな……。 別にもうこれ以上掘り下げなくてよくね?
322 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 05:23:23 ] Ruby/SDLで書いたゲームスクリプトを投稿すると サーバの向こう側に常時待機しているおっさんがそれを遊んで スコアを返すWebアプリを思いついた アイデアの権利は放棄するからお前ら自由に実装していいぞ
323 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 10:07:22 ] なんでおっさん限定なんだよww
324 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 12:41:29 ] 何その、サーチエンジンはやぶさ
325 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 22:34:05 ] 複数のテキストをOpenGLの画面に渡すためにSDL_ttfを使っているのですが、 TTF_RenderUTF8_Solidして作ったいくつかのSDL_Surfaceを、 SDL_BlitSurfaceで、既にOpenGLのフォーマットにしてある大きなサーフィスにコピーして集めて画面をつくり、 その大きなサーフィスをglTexSubImage2DでOpenGLテクスチャとして更新して表示 という方法で、やりたいことはできたのですが、 テキスト1行1行を別々のテクスチャとして扱いたかったのに加えて、 ここの処理だけSDL側でコピーするのも気持ち悪いな、と思い、 TTF_RenderUTF8_Solidして作ったSDL_Surfaceを SDL_ConvertSurfaceを用いてOpenGLのフォーマットに変換して、 glTexSubImage2DでOpenGLのテクスチャを部分更新して転送する という方法に変えたところ、テキストのテクスチャの背景部分が透過されなくなってしまいました。 OpenGLテクスチャ上では、文字部分はα値1でカラー値さまざま かつ 文字の無い部分はα値0で完全に透明 にしたいのですが、どうしたらいいのですか? もともとの方法では、SDL_BlitSurfaceの時に、TTF_RenderUTF8_Solidの作ったサーフィスの文字の無い部分は 自動的に透過されたのですが、SDL_ConvertSurfaceをする場合は、同じように透過されないのでしょうか?
326 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 04:00:34 ] >>325 ConvertSurfaceでできたSDL_Surfaceの pixel 値を 覗いてみて希望の状態になってるか見てみれ
327 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 21:34:26 ] >>326 ありがとうございました、解決しました。 覗いてみたところ、透過したいところのαが0、表示したいところのαが255、と、 OpenGL側の透過値と全く反対で扱われていました。 gl側の混合処理で、GL_SRC_ALPHAからGL_ONE_MINUS_SRC_ALPHAにしたらうまくいきました。 解決のヒントを与えてくれてありがとうございました。
328 名前:デフォルトの名無しさん [2007/11/24(土) 15:09:08 ] 補助ライブラリを日本語で紹介してるサイトないですか?
329 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:27:29 ] ひょっとしてこのライブラリもう誰も使ってない?
330 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:28:27 ] 結構使われていると思うけど
331 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 02:59:31 ] >>329 解説が必要なほど複雑なAPIないからなぁ…
332 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 06:48:31 ] 325とは逆に作ったサーフェスに全く表示されないのを一晩悩んだ漏れが来ましたよ FillRectで特定の値書き込んだ所や貼り付けた特定の画像上だけしか重ね貼りした画像表示しなくて、 真っ黒な0でのFillRectと並べてやっと気付いたorz もう弄りすぎてソースが焼きそば並にぐちゃぐちゃだぜ
333 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 00:25:56 ] SDLで半透明ウインドウできますか?
334 名前:デフォルトの名無しさん [2007/12/28(金) 00:39:37 ] cairoとの相性いいみたいですね フォントとか画像ファイル関係はcairoで代用できそう
335 名前:デフォルトの名無しさん [2008/01/05(土) 01:27:38 ] 板違いだったらすいません。 ちょっと質問なんですが、Ruby/SDLを使用しようと思って、必要なものをインスコして、 プログラムを書き、コンパイルしたら、 ALSA lib confmisc.c:数字 ALSA lib conf.c:数字 ALSA lib pcm.c:数字 こういうものが多数出てきて、実行できませんでした。 環境は、Linuxのubuntu7.10を使っています。 SDLやRuby/SDLは元々入っていたものをパッケージャから入れました。 どうしたら実行できるでしょうか?
336 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:41:57 ] こういうものが多数・・・と手書きするんじゃなくて 可能な限りをコピー&ペーストしなさい 数字の後にもエラーメッセージ続いてたろ?
337 名前:デフォルトの名無しさん [2008/01/07(月) 01:23:00 ] >>335 です。 実行できなかったのは、ソースファイルの打ち間違いでした。すいません。 しかし、>>335 に書いたエラーが出てから実行されます。 >>336 すいません。VMwarePlayerでLinuxを使っていて、 それではネットにつなげるように設定していなかったので コピペできませんでした。 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 これが出てたエラーです。
338 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 00:25:47 ] マルチプラットフォームなこのライブラリですが 多少の手直し程度の移植可能(なように作れる)プラットフォームは どれとどれでしょうか?
339 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 01:02:45 ] >>337 サウンドデバイスが見つからないと言っている >>338 Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.
340 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 05:22:10 ] SDL_ttfについて質問です TTF_RenderText_Solid等をして返ったサーフェースは自分でSDL_FreeSurfaceで開放しなくてはいけませんか?
341 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 13:55:39 ] >>340 開放しなくてはいけませんか?(Y/yes)
342 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 22:14:36 ] >>340 開放しなくても、プログラムが止まることは無いでしょう(多分) なので開放しなくても大丈夫です
343 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 02:12:30 ] 毎フレームフォントをラスタライズするようなアホプログラムなら直ぐに止まりそうだけどね…
344 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 18:26:01 ] >>340 毎フレームフォントをラスタライズかつ開放しないアホプログラムを実行してタスクマネージャのメモリの項を見ましょう つかやっぱり毎回作っては開放してって重いのかな('A`)
345 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 18:40:37 ] サーフェスに文字を詰め込んでいって 毎フレーム自分でレイアウトして描画するようにしたほうがいい気がする ちょっと面倒だけど作ってしまえば更新頻度とか気にせず使える
346 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 18:45:07 ] >>344 毎フレームってことなら当然糞重いでしょ。 サイズにもよるが、メモリの確保&解放だけで結構なボトルネックになるとみた。 既存サーフェスに描画してくれる機能ってあったっけ?
347 名前:デフォルトの名無しさん [2008/03/15(土) 21:48:06 ] sage
348 名前:デフォルトの名無しさん [2008/04/11(金) 00:41:48 ] あげ
349 名前:デフォルトの名無しさん [2008/06/14(土) 07:06:13 ] 320x224の解像度でフルスクリーンにすると画面が90度回転してしまうんですが、 解像度は変えないか320x240でこれを発生させない解決方法ってないでしょうか?
350 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:38:37 ] >>349 環境くらい書いたら?
351 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:22:11 ] すっかり忘れました。ごめんなさい。 ハードはThinkPad X60s Win XP + Mingw GCC + SDLソースインスコ です。
352 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:31:05 ] PCEngineのエミュレータでも作ってるのかね
353 名前:デフォルトの名無しさん [2008/06/22(日) 08:59:52 ] 先生!こんなのありましたけど、昔ながらの行番号BASICからSDLが使えるんですか? SDL_basic www.libsdl.org/applications.php?match_id=1905
354 名前:デフォルトの名無しさん [2008/06/26(木) 22:43:48 ] 解像度を640*480にする
355 名前:デフォルトの名無しさん [2008/09/06(土) 21:21:37 ] 保守
356 名前:デフォルトの名無しさん [2008/10/21(火) 21:28:12 ] 保守
357 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 20:51:43 ] 何か話題はあるのか?
358 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 21:41:45 ] ない
359 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:36:44 ] SDLとか糞やん
360 名前:デフォルトの名無しさん [2008/11/27(木) 02:21:48 ] 人居ないな
361 名前:デフォルトの名無しさん [2008/11/28(金) 12:27:33 ] *nixでもWinでも動作するクロスプラットフォームなSTGを作り始めて数ヵ月。 お約束の、エンジンだけできて、ゲームができない状態に陥りますた!
362 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 16:06:52 ] エンジンができたのなら次はゲーム作ればいいじゃない ライブラリばかりに気を取られるお約束が悪いのではなくて 途中で投げ出す方の「お約束」が悪いんでしょう
363 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 16:39:18 ] 手さえ止めなきゃ、時期や品質はどうあれ いずれは何かが出来上がるものな。
364 名前:361 mailto:sage [2008/11/28(金) 23:07:17 ] しょーがないから作った やる夫STG www.uploader.jp/dl/sample/sample_uljp00781.zip.html (yaruostg-winの中にある「やる夫STG.bat」が起動スクリプトになってる。)
365 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:26:11 ] yaruoshoot.xml でオブジェクトやステージや画面やらを全部を定義してるんだね
366 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:49:31 ] >>365 そうだよ。 そのまま別のSTGのエンジンとしても使えるすぐれものだ。
367 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 01:07:27 ] かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・
368 名前:自称365 mailto:sage [2008/11/29(土) 01:39:53 ] >>367 一応、ライフは10。敵との接触や敵弾のダメージは1に設定してあるつもり。 ソースはまだ公開する準備できてない。 ちなみに [F]でフルスクリーン切替え、 [V]で3-way弾を追加発射、 [M]で内部モニター起動 (文字は白いので見えない) (たまに起動しない) 最後まで行っても特に何もないのは仕様。 っていうか、やる夫の当たり判定が大きすぎて最後まで行けない。
369 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 04:13:12 ] モナーがいっぱいでてくるところまでいけたけど難しいね!
370 名前:デフォルトの名無しさん [2008/11/29(土) 05:15:41 ] ソースクレ警報発令! 367 名前:デフォルトの名無しさん 投稿日:2008/11/29(土) 01:07:27 かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・ ソースクレ警報発令! 367 名前:デフォルトの名無しさん 投稿日:2008/11/29(土) 01:07:27 かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・ ソースクレ警報発令! 367 名前:デフォルトの名無しさん 投稿日:2008/11/29(土) 01:07:27 かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・ ソースクレ警報発令!
371 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 09:36:41 ] シンプルだけどちゃんとゲームになってるから 俺もソース見て勉強したいお
372 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 12:17:51 ] スピード速すぎて操作できん… 速度切り替えつけんと無理
373 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 13:37:56 ] >>372 FPS33を保つために、 フルスクリーン切替えや過負荷によってコマ落ちが発生した場合、 一時的にFPS33を越えて遅れた分を取り戻そうとします……とか
374 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 13:54:49 ] ああ、えっと何が言いたいかというと、 スピードが速すぎると感じた場合は、 しばらく放置すると改善する場合があります。ってこと。
375 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 15:39:20 ] diablo2とかそんな感じだね 今の主流とは外れてるけど
376 名前:デフォルトの名無しさん [2008/12/16(火) 23:59:49 ] SDLはVisualStudio2008には対応してないんでしょうか? ダウンロードには2005しかないんで。 使うなら、2005をインストしないとだめ?
377 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 01:13:21 ] >>376 だめな理由もないと思うが… 気になるならソースからコンパイルして使えlば?
378 名前:デフォルトの名無しさん [2008/12/17(水) 20:53:25 ] >>377 了解です。ありがとうございました。
379 名前:デフォルトの名無しさん [2009/02/01(日) 17:39:14 ] あげておくか
380 名前:デフォルトの名無しさん [2009/02/08(日) 19:38:23 ] SDL_SetDisplayMode関数を複数実行して フルスクリーンとかOpenGL切り替えをしようと考えてるんですが SDL_SetDisplayMode関数を実行する毎に 前のSDL_SetDisplayModeで確保したSDL_Screanって Freeしなくても大丈夫ですか?
381 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:09:31 ] freeしとかんといかんとおもう
382 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 08:26:41 ] >>380 SDL_SetDisplayModeっての戻り値ってintだろ… SDL_SetVideoMode() の戻り値なら SDL_Quit() で開放されることに なってるので開放すべきではないということになってたはず
383 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 20:30:54 ] いくつかの画像フォーマットと描画速度(読み込み速度ではない)の関係を調べていたのですが、 gifが最速という結果が出ました。 ただ、予想に反してgifがbmpよりも速かったことに戸惑いを感じています。 みなさんの環境でもgifの表示はbmpよりも高速でしょうか? ===ここから詳細=== SDL/SDL_imageによる画像の描画速度に関してですが、 私の環境では、速い順に gif > bmp(32bit ARGB) > jpg >> png の順になり、gifが最速でした。 gifはjpgより2倍速く、pngはjpgより2倍遅いという結果になりました。 ただし、gifの場合、α値がうまく反映されず、半透明部分が半透明になりませんでした。 (しかし、完全に透明な部分は問題なく表示されませんでした。) bmpは24bit/16bitRGBに変更しても描画速度に大した変化が見られませんでした。 環境はOpenSUSE11.1/SDL1.2/SDL_image1.2、グラフィックカードはオンボードです。 画像はGIMPを用いて作成しました。
384 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 20:44:03 ] ヒント:gifは8bit
385 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 21:04:42 ] >>383 元の画像のフォーマットが何かということを考えるよりも - ロードして出来上がったSDL_Surface のフォーマット(depthとかビットマスクとか)がどんなものか - 転送先のSDL_Surface のフォーマットがどんなものか が問題なのでは? SDLやSDL_Imageでロードしてできる SDL_Surface は大抵の場合 画像ファイルのフォーマットに近いもにになるんでつまり>>384 ってことじゃない? #スクリーンに描画してるなら SDL_DisplayFormat() するといいかも
386 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 21:22:35 ] >>384-385 確かに、SDL_DisplayFormatで変換したところ、描画が高速になりました。 内部フォーマットが描画速度に大きな影響を与えるんですね。 なんだかすっきりしました。ありがとうございます。
387 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 21:53:41 ] 普段 Perl を使ってるので SDL_perlモジュールで SDL を使って ゲームを作ってみようかと思うのですが perldoc では情報が少なくてイマイチ使い方がわかりません 何か参考になる良さげなものは無いのでしょうか?
388 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 14:36:32 ] sdl.perl.org/ 当然チュートリアルは読んでいるものとして それでも分からないならCか何か他の言語で使い方だけ理解すれば
389 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 20:48:11 ] >>388 ありがとうございます。 C での使い方をきちんと理解してから SDL_perl を使おうと思います。
390 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 22:46:34 ] SDL_mixerの音楽再生について、ひとつ質問させてください。 SDL_mixerを使ってogg形式のBGMを演奏しようとしているのですが 曲の演奏時に、定常的なノイズが入ってしまいます。 (特にループ再生の2回目以降で、大きなノイズがかかります) これを回避できる方法はないでしょうか? 再生環境は以下の通りです。 ・Windows XP ・Ruby 1.8.7 + Ruby/SDL 2.1.0を使用 ・SDL_mixer 1.2.9 ・open時のパラメータは44.1kHz、S16SYS、2ch、1KB-chunk また、曲を入れ替えながら試してみたところ、以下のような傾向があるようです。 ・ファイルサイズが大きい(曲が長い&音質が良い)とノイズが入りやすい ・open時の周波数を上げる(たとえば88.2kHzにする)とノイズが減る
391 名前:390 mailto:sage [2009/05/17(日) 22:47:42 ] すみません、SDLのバージョンを書き忘れていました。SDL 1.2.13です。
392 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 01:49:16 ] そのノイズって、プチッ・・プチッ・・と音が乗るノイズのことか?
393 名前:390 mailto:sage [2009/05/18(月) 09:33:19 ] 表現しづらいですが、プチッ・・・というよりは ザザザザ・・・という風な感じです 音が鳴るのに合わせてザザザザ・・・というノイズが重なっているような
394 名前:390 mailto:sage [2009/05/18(月) 20:06:55 ] ノイズの再現用に、oggを再生するだけの小さなプログラムを作ろうとしたのですが そちらのプログラムでは何度やってもノイズが乗りませんでした。謎だ。 (同じ音楽ファイル・パラメータを使いました) ひとまず、もう少し自力で原因を探ってみようと思います。 もし「これが原因じゃない?」と思い当たる節のある方がおられましたら 助言をいただけると幸いです。
395 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 20:25:01 ] 多分バッファアンダーランだと思うんだが ザザザ・・・だったらより深刻だな
396 名前:390 mailto:sage [2009/05/31(日) 22:33:44 ] いま原因を検証しているのですが どうも音楽の音量変更に何かがあるらしい、というところまで分かってきました 音量変更がなければ綺麗に再生されます
397 名前:390 mailto:sage [2009/05/31(日) 22:49:39 ] 音量が128(最大)であればノイズは入らず それ以外の値であれば常に入るようです(64, 127などで確認)
398 名前:デフォルトの名無しさん [2009/07/05(日) 20:49:31 ] あげ
399 名前: tor1.digineo.de mailto:age [2009/08/17(月) 17:46:57 ] 自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L 名言集 その3 『いつもサボってばかりのキャップがウゼえ』 yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ ID:PVAf+dux0 = 自動焼人 ★ > 71 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:58:57.28 ID:PVAf+dux0 > >>69 > 大変って言うか > 毎日、報告されたのを見て、判断して、処理して、完了報告して、以下ループ。 > ちょっとでもミスすると、普段は作業もしてないキャップさんたちがさんざん文句言ってきて > その言いわけを考えないと、キャップはく奪されたりアカウント凍結されたりするから > > 登録されてから一年以上経って、やっといいたいこと言えるようになってきたよ。 ---------------------------------------------- この自動焼人 ★メールマガジンの配信停止をご希望される方は qb5.2ch.net/test/read.cgi/sec2chd/1250169591/ にて自動焼人 ★までご連絡ください