トップページgamedev
987コメント396KB

SDLスレ

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/11/11 17:59ID:u0HMN7qC
マルチプラットホームな汎用ゲームライブラリの
SDLについてのスレッドです。
最新情報、参考になるソース、質問等

とりあえず、本山
http://www.libsdl.org/
030930703/09/02 11:03ID:TJ4A1y2c
>>308
内部で作ったサーフェイス、っていうのがよくわかりません・・・(初心者ですみません)

どうもSDL_SetAlphaで設定したAlphaが無視(?)されてるような感じなんです。
0310名前は開発中のものです。03/09/02 14:48ID:Nz0HHtiV
>>307
半透明にしようとしているSurfaceのフォーマットと
SDL_SetAlphaの引数あたりが怪しい…

ってか状況を再現できる最小限のソースコード
くらい出してくれないと。
0311名前は開発中のものです。03/09/21 13:28ID:yIbPH+72
こっそり保守。
0312名前は開発中のものです。03/09/30 13:49ID:UUy5SKlJ
なんかSDLで作ったソフトを起動してる間NumLockとかCapsLockとかの
切り替えができなくなるのは俺だけ?
押してもキーボードのNumLockとか光ってるところが反応しない。
俺だけだったら放っておいて下さい。
0313名前は開発中のものです。03/10/01 01:15ID:BAewoLig
>>312
とりあえず試しにWin2K, MinGWな環境で
SDL1.2.5のtestglとか走らせてみたがそんなことにはならなかった。
0314名前は開発中のものです。03/10/02 07:10ID:rM1nLuHp
>>313
レスどうもです。
うちは98SEの1.2.5なのだけど、サンプルのソースとか他の公開されてる
SDL使用のソフトとかを実行してもそうなります。
多分俺の脳がどこか腐ってるんだと思います。
0315名前は開発中のものです。03/10/02 11:19ID:IlayBond
CTRL+左キーが利かないキーボードあるんだけど、
そんなのは関係ないのかな。
0316名前は開発中のものです。03/10/16 00:19ID:4n/2vXoO
SDL for Delphi ってあるでしょうか??
Ver0.5というのはあったんだけど、、
0317名前は開発中のものです。03/10/19 01:43ID:aHpL9q55
>>316
試しにググってみたけど何か違うものばかり引っかかりますな。
bc++5.5でSDLが動いてるようだから、技術的には可能そうだけど。
0318名前は開発中のものです。03/10/19 06:20ID:KVBreJJq
オレも試しにググってみたけど
↓で配ってるJEDI-SDLっての使うしかないんじゃないの?
http://www.delphi-jedi.org/Jedi:TEAM_SDL_HOME

試しにダウンロードして中見たらRunTimeはSDL-1.2.4だったよ。
Ver0.5ってのはJEDI-SDLのバージョンでは?
0319名前は開発中のものです。03/11/05 16:30ID:McixPKi6
プログラミング初心者でSDL弄ってるんだけどさ、実行中
常にCPU使用率が100%になるのを防ぐ手立てって無いものかな。
0320名前は開発中のものです。03/11/05 16:46ID:A/imeFD/
>>319
適宜SDL_Delay()を使う。
SDL_gfxのFramerate controlモジュールを使う。
0321名前は開発中のものです。03/11/22 00:08ID:Rkcr0fEN
Routine-Workさんのサイトを参考に、WinXPPro+MinGW3.1.0-1+MSYS1.0.9で
SDLをmakeしてみた。

SDL -> OK 問題なし
SDL_mix -> makeは問題ないが、出来たDLLをロードすると落ちる。
SDL_image -> 同上。

何か間違えたかと思い、
MinGWのバージョンを2.0.0-3に落としてみたところ、
全て問題なし。むー。ウチの環境だけの問題なんだろうか?
0322名前は開発中のものです。03/11/22 00:10ID:Rkcr0fEN
>>321
あ。微妙にミス&書き忘れ。
使用したライブラリのバージョンはそれぞれ、
SDL-1.2.6.tar.gz
SDL_mixer-1.2.5.tar.gz(<-mixじゃなくてmixerですた)
SDL_image-1.2.3.tar.gz
です。
0323名前は開発中のものです。03/11/26 01:58ID:oDpGQqNU
SDLでS3TC読み込み用の関数とかはありますか?
0324名前は開発中のものです。03/11/27 15:18ID:aQuPeEyb
>>321
うちでも同じ状態です…

SDL_mixer というか SMPEG を MinGW 3.X でコンパイルしてできた
DLLを使うと落ちる感じ。

SMPEG サポートなしで SDL_mixer をコンパイルするか
MinGW 2.0でコンパイルしたものを使うかで回避してるけど
対処法あったらおれも教えてほしい。
0325名前は開発中のものです。03/11/27 22:15ID:BoqYAr6p
うちは、DLL集めてエクスプローラから起動するとOK
cygwin shell上から実行するとDLL読み込みエラーで落ちる
0326名前は開発中のものです。03/11/29 00:19ID:+Zau//Z5
>>324 >>325
ありがとう、ウチだけの問題じゃないと解かって一安心です。

ただ、
> SDL_mixer というか SMPEG を MinGW 3.X でコンパイルしてできた
> DLLを使うと落ちる感じ。
これはこちらとはちょっと現象が違う模様。

こちらで落ちたSDL_mixerは、libogg,libvorbis有り、SMPEG無しで
makeした物だったんで。

ちなみに、SDL_imageはjpeg,pngサポート有りでmakeしたものです。

しかし、困ったモンですな。MinGW、SDL_mixerどちらの問題なんだろう?
032732103/11/29 00:19ID:+Zau//Z5
>>326
あ、書き忘れましたが321です。
0328名前は開発中のものです。03/11/30 21:34ID:8v/2nacI
関連する情報持ってる人キボンage
0329名前は開発中のものです。03/12/01 13:40ID:JdYcmEbH
WinXP + MinGW 3.1 + MSYS 1.0.9 でちょっと試してみた。

SDL だけを使った場合落ちないけど以下ライブラリをコンパイルして
出来たDLLをロードすると落ちる。この環境でコンパイルしたDLLだと
shellから起動しようがexporlerから起動しようがダメでした。

* smpeg
* SDL_mix(vorbisあり,mp3あり)
* SDL_mix(vorbisあり)
* SDL_image
* SDL_net

DLLだけを他の環境でコンパイルしたもの(公式サイトで配布
されているやつとか)に置き換えたら動いたのでやっぱ生成された
DLLがマズそうな感じ…。やっぱMinGWの問題だろうか?
0330名前は開発中のものです。03/12/02 23:01ID:KdpcWnCh
空いた時間をつぶす時はSDL_Waitで十分かな?
0331名前は開発中のものです。03/12/02 23:30ID:KcbsioGe
D言語でもSDL使えるんだね。あげ
0332名前は開発中のものです。03/12/02 23:34ID:hSDazT4V
SDL_Delay()だね。
SDL_gfxのフレームレートモジュールを使うのも手
0333名前は開発中のものです。03/12/19 02:07ID:ECJ/47WV
たまには保守。
0334名前は開発中のものです。03/12/21 22:10ID:zLwkl8zD
D言語スレをROMってたんだけど、C#でもつかえるんだってね。
0335名前は開発中のものです。03/12/21 23:41ID:KhQmPO5+
Windows以外でも?
0336名前は開発中のものです。03/12/23 23:40ID:BQv+dX+Y
>335
Windows以外(monoとか?)はどうかは知らんが…
http://cs-sdl.sourceforge.net/
0337名前は開発中のものです。03/12/24 19:13ID:GxASKMN4
dreamcastでSDL開発してる香具師いらっしゃいますか?
0338名前は開発中のものです。03/12/27 12:32ID:q7duODMu
>>337
> dreamcastでSDL開発してる香具師いらっしゃいますか?
SDL-fan-jp MLでたまに見かける人に一人いるみたい、って以外は知らないなぁ。
0339名前は開発中のものです。03/12/28 20:49ID:qtY7Eg01
>336
それ、SDL.NET-1.5.1.zip落として解凍すると、
0kbなんだけど…なんか特殊なのかな?
どこから(ミラーサイト等)でも同じ現象。。。
0340名前は開発中のものです。03/12/29 19:28ID:w1hTPfgh
書き込み頻度を見ると、ネラーのSDL使用って少ないのかな?
WinでDirectX使うより簡単だし始め易いと思うんだけど…
0341名前は開発中のものです。03/12/30 12:23ID:2hrqggZr
>>340
>WinでDirectX使うより簡単
同意。このスレ見るとWindowsにしてもMinGWでMSYSみたいなUNIXよりの人のが多そう。

好意的に解釈すると、
SDLは判りやすすぎて誰かに質問する必要がない、とか。
ドキュメントが多少説明不足でもソースおっかけりゃすむこと多い気がするし。

たまにいるライブラリ使うとなんか負けたような気分になる不思議な人らとか、
後はDirectXのバッドノウハウってヤツもあるのかも。
ttp://www.namazu.org/~satoru/misc/bad-knowhow.html
0342名前は開発中のものです。03/12/31 09:21ID:2dmaFMP8
>>341
同意。SDLはしきい低いと思う。
けど、描画で凝ったことしようとするとOpenGL使うか、
他の周辺ライブラリ使うかになることが多い気がするが、
ここで難しいという印象を与えてしまってる部分がある予感。
0343ぁきまさ03/12/31 10:27ID:uPGIOmXx
DirectXforVB→SDL→DirectXに移ってみた者ですが、
感想としては、DirectXめんどくさすぎです…。
SDLなら一行でできることをDirectXでは長々と書かなければいけないのは苦痛です。
そのくせ、SDLならマルチプラットフォームを簡単に実現できることを考えるとDirectXでやることは考えられません。

2Dのゲームに限っては、ですが…。
以下個人的理由です:

SDLでOpenGLを使って複雑なシーンを構築する際、
DirectXにはXFileというとっても楽ちんなものがありますが、
OpenGLにはそれに相当する物はあるのでしょうか?
外部ファイルによる物体の表示だけならまだしも、
アニメーションまでやろうとするとそれだけでかなり労力を割かれて萎える気がするのですが…。
0344名前は開発中のものです。04/01/03 23:35ID:ZUnJFgEf
>>343
なんかあった気がする。
無かったら作っちゃえよ。
0345名前は開発中のものです。04/01/05 23:14ID:0FMgJlKl
>>343
海外のチュートリアルサイト見れば3dsファイルとかlwoファイルとか
Quakeとかのmd2, md3とかQuake BSPファイルとかを表示する
サンプルプログラムが腐るほど落ちてるよ(Xファイルのもある)。
中には自由に使えるものも結構ある。探してみるべし。
0346名前は開発中のものです。04/01/05 23:16ID:0FMgJlKl
個人的には、D3DXSpriteで出来ることくらいは出来てほしい>GL以外のSDL
具体的に言うと回転が高速に出来てほしいわけだけど…。
実装されないのはPC Unix方面で何かネックとなるものがあるのかな…?
0347ぁきまさ04/01/06 08:58ID:ZNIQCPQq
>>345
そうなんですか。
ありがとうございます。
やっぱり、海外の方が情報が多い。のでしょうか…。
0348名前は開発中のものです。04/01/06 13:15ID:Q68qBWfA
>>321
試してないけど MinGW-users メーリングリストに
http://sourceforge.net/mailarchive/forum.php?thread_id=3700241&forum_id=5119
ってのがあったよ。

要するに SDL_* に入ってる ltmain.sh がマズそうだから SDL_ttf の CVS
の最新から拾ってきて置き換えればいけるかもってことみたい。
0349名前は開発中のものです。04/01/07 01:08ID:FwBNDK1A
>>348
お!情報サンクス。

しかし、そのメールの日付が2004/01/05ってことは、
えらい最近まで原因判明してなかったのかー。
0350名前は開発中のものです。04/01/07 09:37ID:zZ1n6DvZ
>>349
いや…

CVS見ると2003/11/19には直ってたみたい。
http://www.libsdl.org/cgi/cvsweb.cgi/SDL_ttf2/ltmain.sh
0351名前は開発中のものです。04/01/07 12:16ID:kS7ua9BI
>>346
もうOpenGLメインにした方がいいかもなー。
DirectXは3D機能で2Dを表現するのが主流になってきてるそうだし。
0352名前は開発中のものです。04/01/08 12:06ID:cCRZtzcW
>>346
>>351の意見も一理だが、SDL_gfxじゃ不足かい?
回転と拡縮とMMX使用のイメージフィルタがあるそうなんだが。

ttp://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/

ちなみにLGPL。
SDLは回転とか含め応用(?)な機能を
ポータブルに実現できる「レイヤ」を提供するもんだろうから、
多分SDL自体に実装されることはないと思われ。
0353名前は開発中のものです。04/01/10 01:50ID:Th3gvov6
回転などの「インタフェース」を用意してもいい時期ではないかと、
そろそろ思うわけだけどね。

まぁ、glutやWGLみたいなOpenGLフレームワークの一つとして収まるつもりなら、
別にそれでもいいと思うけど。
0354名前は開発中のものです。04/01/10 22:25ID:CxzW6WTE
>>353
「SDL Request For Implementation」、略して「SRFI」ってノリか。……Schemeと名前被るけど。
0355名前は開発中のものです。04/01/11 05:04ID:kHguDFRk
mingw(gcc3.3.1)+msys1.0.9+SDL1.2.6でエラーが出て
SDLをビルドできないんですが・・・。

> c:\mingw\bin\..\lib\gcc-lib\mingw32\3.3.1\..\..\..\..\mingw32\bin\ld.exe:
> .libs/libSDL.lax/libhermes.al/mmxp2_32.lo: bad reloc address 0x87 in section `.text'

binutilsというかld-2.14.90のバグらしいのでSDLだけ
ldを2.13.90に差し替えてビルドしましたけど、大丈夫ですかね…。
早めにバグ取ってupdateしてほすいですな…>binutils
0356名前は開発中のものです。04/01/12 00:17ID:jHaBXaUC
>>355
確信はないけど、大丈夫なんじゃない?
そのぐらいで毎度問題出るんだったら、
公式で配ってるバイナリ配布版なんて誰も使えないことに。
0357名前は開発中のものです。04/01/12 10:30ID:oW00NT9Y
【ゴールデンレス】
このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
035835504/01/12 16:22ID:k60kLF8M
>>356
できたSDL.dllをmingwでコンパイルした
メインプログラムと組み合わせると動いたのですが
VCでコンパイルしたメインプログラムとあわせると落ちてしまいました。

バイナリ配布のSDL.dllでは両方動くので
何か間違えてしまったかもしれませんです。ld だけ換えたせいなのかな…。
make install まで通ったので、あまりこだわらないことにします。(^^;
0359名前は開発中のものです。04/01/22 13:27ID:+O9pXp3N
>343
こんな便利なライブラリがある。
http://www1.seaple.icc.ne.jp/tomtom/development/review/osg_frameset.html
日本語の情報ページは、今の所このサイト位らしい。
もったいないからどんどん活用すべし。
0360名前は開発中のものです。04/01/22 17:42ID:viuBoj2b
>>357
そのコピペの頭の悪そうな感じが大好き。
0361名前は開発中のものです。04/01/24 00:42ID:gl5Pax92
>>343
http://cal3d.sourceforge.net/
これもなんとなくよさげっぽ?
0362名前は開発中のものです。04/02/01 22:25ID:VsJKdPiS
フルスクリーンにしてSDL_FillRect使うとものすうんごく遅いんですが、
こんなもんなんでしょうか?
SDL_FillRectを使わなければ60fpsくらい出るものが1以下に...
0363名前は開発中のものです。04/02/03 17:19ID:0RlVpYsz
>>362
あなたの環境でフルスクリーンでSDL_FillRect使って
ものすうんごく遅くなる最小限のサンプルプログラムを
示してくれればみんなテストしてくれると思うよ?
036436204/02/04 11:41ID:URHwb4SZ
>>363
長くなるので一部省略します。

if(fullScreen)
 screenSrf = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE | SDL_FULLSCREEN | SDL_DOUBLEBUF);
else
 screenSrf = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);

while(1) {
 static int px = 0;
 SDL_Rect area = {0, 0, 640/2, 480};
 SDL_FillRect(screenSrf, NULL, SDL_MapRGB(screenSrf->format, 255, 255, 255));
 if(px > 640 / 2) px = 0;
 else px++;
 area.x = px;
 SDL_FillRect(screenSrf, &area, SDL_MapRGB(screenSrf->format, 0, 0, 0));
 SDL_Flip(screenSrf);
 waitByFPS();
 printf("FPS=%d\n", nowFps);
}
036536204/02/04 11:44ID:URHwb4SZ
waitByFPSの中身です。

static void waitByFPS() {
 Uint32 nowtime,lefttime;
 static Uint32 lasttime=0;
 const Uint32 interval=1000/fps;
 nowtime = SDL_GetTicks();
 lefttime = lasttime+interval-nowtime;
 if(lasttime+interval>nowtime) {
  SDL_Delay(lefttime);
  lasttime=nowtime+lefttime;
  nowFps = fps;
 } else {
  nowFps = 1000 / (nowtime - lasttime);
  lasttime=nowtime;
 }
}

変数fpsはint型で60、nowFpsには現在のFPSが入っています。
036636204/02/04 11:50ID:URHwb4SZ
っと、ここまで貼ったのですが、このプログラムの場合、
フルスクリーンにしたときにFPSが下がるのではなく、
何も写らなくなってしまいます。

問題が発生した元のプログラムも、どうやらSDL_FillRect又はSDL_Flipに
時間がかかっているのではなく、画面が実際に更新されていないだけのようです。
(つまり、nowFpsにはちゃんと60が入っている)

機種固有の問題でしょうか? よろしくお願いします。
0367名前は開発中のものです。04/02/07 11:16ID:X+ZonyxN
>>362
以下の環境で試してみましたがどの環境でも
フルスクリーン,ウィンドウモードの両方とも
正常に画面は更新されました。

ThinkPad X30, WinXP, cygwin + SDL 1.2.6
自作PC, Win2k, MinGW + SDL 1.2.6
自作PC, Linux2.4.22, SDL 1.2.5

# せめてコンパイル可能なプログラムを…
036836204/02/07 20:35ID:O0CtMFQf
>>367
ありがとうございます。そんなにたくさんの環境で...
やっぱり環境固有の問題みたいですね。

# 途中省略ってのはまずかったみたいですね。
# いや、ソース読むだけで判断するかなと...
# 想像以上に親切で迷惑をかけてしまったようです。スイマセン
0369名前は開発中のものです。04/02/23 10:47ID:E1aLNUXa
SDL version 1.2.7 リリース!
ってことで保守
0370 ◆8fOTfwdIi. 04/02/25 04:31ID:1WNUyKXe
SDL_archive っての作ってみたよ。
アーカイブファイルを元に内部のファイルのインデックス作って、
そこから SDL_RWops を生成できるってもの。
http://qas.sourceforge.jp/libraries/
VisualC++ と BCC のビルド環境しか入れてないから
gcc な人とかは自分で全ファイルをコンパイル&リンクして適当に作ってくだちい。
0371名前は開発中のものです。04/02/26 22:15ID:dtKYNn6B
>>370
そこに置いてあるpatchって本家にマージせんの?
0372 ◆8fOTfwdIi. 04/02/27 02:26ID:6UxR2Ywv
>>370
ちょっと本職が忙しくて睡眠時間すら削り取られてて、本家に投げる暇が無いのよ。
それに英語苦手なもんで……誰かパッチ投げだけやってくれる人いないかな。
0373 ◆8fOTfwdIi. 04/02/27 02:33ID:6UxR2Ywv
間違えた。>>371
0374名前は開発中のものです。04/03/01 21:32ID:4drL0pqW
SDL_gfxのImageFilterって使い方がいまいち分からない。

Test/ディレクトリにあるサンプルは適当な配列をいじってベンチマークしてるだけだし。

どっかに実際に使ってるdemoとかgameありませんか?

0375名前は開発中のものです。04/03/13 09:27ID:F3vxQxJh
SDL_net使ってるのですが、SDLNet_SocketSetの使い方がわかりません。
これにcliantのsocketをSDLNet_AddSocket()で登録していくのだろうなーというのは
なんとなく察しがつくんですが、ここに登録したcliantに対して操作する場合、
どのようにしたらいいんでしょうか?

ドキュメントにはポインターです、としか書かれてなかったのですが、
クライアントsocketポインタの配列みたいな役割になっているのでしょうか?

SDLNet_SocketSet socketset;
SDLNet_TCPsocket i;
for (i=(SDLNet_TCPsocket)socketset; *i!=NULL; i++) {
   len = SDLNet_TCP_Recv(i, message, 1024);
   printf ("Received: %.*s\n", len, message);
}
みたいな感じにすればいいのかな?
0376名前は開発中のものです。04/03/13 11:02ID:KWP+lz2i
ドキュメントを読む限り、SocketSetからそれにaddしたソケットを取得する手段は無いんじゃない?

こんなかんじ?

SDLNet_SocketSet sockset;
SDLNet_TCPsocket sock[10];
SDLNet_TCP_AddSocket(sockset, sock[0]);
SDLNet_TCP_AddSocket(sockset, sock[2]);
:
SDLNet_TCP_AddSocket(sockset, sock[9]);

if (SDLNet_CheckSockets(sockset, 1000) > 0) {
  for (i = 0; i< 10; i++) {
    if (SDLNet_SocketReady(serversock)) {
      SDLNet_TCP_Recv(sock[i], message, 1024);
    }
  }
}
0377名前は開発中のものです。04/03/13 12:58ID:KWP+lz2i
× if (SDLNet_SocketReady(serversock)) {
○ if (SDLNet_SocketReady(sock[i])) {
だった。

要するにselect()のfdsetと同じ役割と考えるとわかりやすい(というか実際に同じか)。
0378 ◆8fOTfwdIi. 04/03/15 00:02ID:RaMRNtCE
うがー
サイトをインチキ英訳して、
SDL 本家の ML に Mix_LoadMUS_RW() パッチ作ったよーって投げてみたよ。
http://qas.sourceforge.jp/patches/

ML 見てる分には、たまーに
「Mix_LoadMUS_RW() は実装されないの?」
って発言を見かけるから、少しは需要あるかなー。
0379 ◆8fOTfwdIi. 04/03/15 08:24ID:pf2gfzpT
「それ、一昨日俺が欲しいって言ったヤツだよ!」
って返事が来たんだけど、
本家に取り込んでもらうにはどうすりゃいいんだろう。
「commit してくれ」ってそのまんま頼めばいいのかな。

す、スレ違い?
0380名前は開発中のものです。04/03/15 08:57ID:k6ohdd5m
Sam Lantinga氏にmailを直接送ってみれば?
新機能の追加なのですぐにcommitされるか微妙ですが
なんらかの返信はすぐに来るはず。
怒られるようなことは、まずないと思います。
0381名前は開発中のものです。04/03/21 17:30ID:Nmo/42G+
SDL1.2.7をコンパイルしてみたのですが、SDL_cpuinfoの__asmで
cmp命令とmov命令の一部がアセンブラ構文エラーになって弾かれてしまいます。
WinXPかVC++5が悪いのかな。他の人はこういうふうにはならないのでしょうか?
今からVC6なんて手にはいらないし、.netならいいのかなぁ?
0382名前は開発中のものです。04/03/24 23:18ID:vYURZF4R
>>381
今VC5を使ってる人ってほとんどいないような希ガス。
だからそれだけの情報じゃぁなかなか答えようがないと思うよ。
とりあえず該当部分のコード晒してみるのはどう?

そーいうオレ自身ももっぱらMinGWなんでさっぱり分からんのだが。
0383名前は開発中のものです。04/03/25 10:56ID:06E5ih+O
>>381
想像ですが、cpuidの直後で引っ掛かってるんでないかと。
VC5にはcpuidがないとかいう噂を聞いた覚えがあります。

cpuid絡みならもしかすると、ソースの頭に
#define cpuid __asm _emit 0x0F __asm _emit 0xA2
を入れれば上手くいくかも。

自分はVC6で、今やってみたら1.2.7も普通にコンパイルできますな。
0384名前は開発中のものです。04/04/05 08:17ID:/ekkDjoX
SDLを最近delphiで始めました。
win32appを作るのに近い感覚で作れてなかなか良いですね。

ただ資料、特にdelphiのものは皆無といっても良いほど内のが玉に瑕。
今度入門ページとか作って見様かなぁ
038538104/04/07 01:48ID:Wn2bWE/g
遅レスすまそ。
やっぱりコンパイラの問題かなぁ。
VC.netを購入する理由が別にできてしまったので、
それでコンパイルしてみることにします。
で、それでもダメだったら>>383さんのを参考にしてみまつ。
0386名前は開発中のものです。04/04/13 00:18ID:R3klDjkd
質問です。SDL_mixerって何音同時再生できますか?
waveをたくさん重ねて鳴らしたいのですが。

0387名前は開発中のものです。04/04/13 01:35ID:ItZmwa9S
ttp://jcatki.no-ip.org/SDL_mixer/SDL_mixer.html#SEC1
> It supports 8 channels of 16 bit stereo audio, plus a single channel of music, ...
0388名前は開発中のものです。04/04/13 23:06ID:R3klDjkd
少な…
0389名前は開発中のものです。04/04/13 23:45ID:n/5r7ovM
>>388
>>387のは単なるdefault値だよ。
http://jcatki.no-ip.org/SDL_mixer/SDL_mixer.html#SEC22

The number of channels allocated.
Never fails...but a high number of channels can segfault if you run out of memory.
とある通り、メモリ(と演算速度もか?)の許す限りいくらでも取れるっぽ。
0390 ◆pm4Rr1N8T6 04/04/14 05:29ID:/mSmA8Oy
かなり大量に指定したことあるんだけど、
増えすぎてちゃんと鳴ってんのかどうかわからなかった。

まあ、16ぐらいは普通にいけるよ
0391 ◆pm4Rr1N8T6 04/04/14 05:31ID:/mSmA8Oy
あれ、トリップ打ち間違えた
0392名前は開発中のものです。04/04/19 23:43ID:df6eSjfW
スレ違いかもしれないんだけどさ、液晶モニタでゲーム作ってて、
表示してる画像を動かすと、やたらぶれて見えることってない?
静止してその場でアニメーションしてもぶれないんだけど、
画像全体を上下左右に動かすと途端にぶれて見えるみたいな。

でもCRTだと問題ないし、その液晶でだってゲーム全部ダメってこともなく……。

FPS落としてみたりして試行錯誤はしてるんだけど、うまくいかず。
世の中のゲームはどんな実装してんのか、誰か教えてくだされ……。
0393名前は開発中のものです。04/04/20 09:47ID:Kz7PIZnR
ブラーが掛かるように見えるなら、応答速度のいい液晶を使う。

FPSなゲームだと余り目立たないけど、1/30秒位でオブジェクトを
動かすと2重にブレて見える事もある。
中途半端に遅くても駄目な例。
0394名前は開発中のものです。04/04/21 09:16ID:GSi5k06l
【LCD】PCゲーマー的液晶ディスプレイ Part.2
http://game6.2ch.net/test/read.cgi/game/1069793039/
とかも参考になるかも。
039539204/04/21 16:31ID:WKD5qBW8
>>393,394
ありがd。やっぱ世の中安物はだめなのか……。
自分が使うぶんにはいいんだけど、
他人にプレイさせると選べないんだよね……。
0396名前は開発中のものです。04/04/24 02:00ID:Z5qgN2Ap
久々に本家のページ見にいったら
デザイン一新しててビックリしたんだけど、
いつから変わってたんだろう…。
0397 ◆pm4Rr1N8T6 04/04/24 16:53ID:dO/B4Z7t
>>396
何でか知らんのだけど、リニューアル後は
サイトの HTML や画像まで CVS に入れるようになったみたいだね。
CVS コミット通知の ML 読んでてびっくりしたよ。
0398名前は開発中のものです。04/05/12 07:37ID:+G0iEP7m
日本語入力は…とりあえずSDL_ttf+sskしかないんですかね?
ssk試してみたけどあれはツライなぁと。

SDLのソース触ってIMEからなんとか動かしてるんですけど、
やっぱSDL_imeがほすぃ…。
0399名前は開発中のものです。04/05/13 21:41ID:bDKw0/eZ
>>398
sdl-fan-jp で SDL で IME を直接使う、みたいなのが出てたね。
http://morihyphen.hp.infoseek.co.jp/prog/sdl-im.html
これ一個で X Window 系を一気にサポートできるけど
MacOS, Windows, Amiga OS 辺りがサポートできないね。
この XIM のものですら実践的じゃない部分も多いし、
実際やるとなると相当大変だな……
0400 ◆pm4Rr1N8T6 04/05/30 10:09ID:3EbvfWJ2
SDL_ttf の不満点を解消するパッチを作ってみた。
http://qas.sourceforge.jp/patches/

・ファイル開くのに失敗したら NULL を返すようにした。
 これまではライブラリ内部でクラッシュしてたんだよ。信じられるかい?
・SDL_bdf みたいに SDL_Surface へ直接描画する関数を追加した。
・横幅を元に、文字列の中で描画できる byte 数を返す関数を追加。
 文字列から横幅を取得することはできるんだけど、
 それだと先に横幅が決まってる場合にスマートに自動改行の実装するのは難しいんだよね。
0401 ◆pm4Rr1N8T6 04/05/30 10:17ID:3EbvfWJ2
Shaded や Blended を使う場合に
強制的に TTF ファイル内の埋め込みビットマップフォントが使用されてしまう問題は
Shaded や Blended の時だけ bitmap を使わないようにすればいい……と言いたいところだけど、
TTF_Size* を呼び出す時、Solid と Shaded, Blended との場合が区別できないから
互換性が失われてしまうんだよね。
TTF_Size*_{Solid|Shaded|Blended} ってのを新しく追加しようかなとも思ったんだけど、
結局互換性は保たれないからなあ。

オリジナルのコードを見るとよくわかるけど、
何と言うか、試行錯誤の爪あとがひどくて……
別のライブラリを作った方がいいのかなあ。
0402名前は開発中のものです。04/05/30 22:14ID:XZwjpvJy
>>400
パッチ作成おつー

パッチは役割毎に分けて,CVSバージョンに対して作って
直接 Sam に投げてあげると取り込まれやすいかもー

# Mix_LoadMUS_RW パッチも取り込まれてないのね…
# 今CVS見たら MikMod のみに対応した Mix_LoadMUS_RW の
# コードが入ってるっぽい…
0403名前は開発中のものです。04/06/16 14:33ID:Ui6mhgG3
Ruby/SDL on WinでSDL_kanjiを使えたという人います?
Linuxではできるみたいなんだけど、WinでRubyの拡張ライブラリ
を作るやり方がさっぱりわからない…
0404名前は開発中のものです。04/06/17 23:16ID:1bQx+Nnz
SDL使えばグラフィックは良いと思うんですが
サウンド用の汎用ライブラリって何かありますか?
0405名前は開発中のものです。04/06/17 23:40ID:eN4Qw0jN
OpenALだっけか。
感想キボンヌ
0406名前は開発中のものです。04/06/18 03:56ID:Lm+5DsNE
OpenALを上げる前に、
SDL_mixerとSDL_soundあたりをまず上げてやれよ。
SDLとの組み合わせでは一番使用例が多いだろうに。
それで機能不足を感じたなら改めてOpenALあたりを調べてみるのが良い気がする。
0407名前は開発中のものです。04/06/20 15:54ID:6tF2CK9b
>>403

SDL使うには Ruby/SDL と RUDL という手があるね。

漏れ、一時期、複雑なものなら型宣言有り言語推進派だったけど、
経験積むにつれ、型宣言に大した意味ないと思った。

Rubyマンセー
0408名前は開発中のものです。04/06/21 18:12ID:OvV70vE4
>>407
俺はRuby/SDLをやって、やっぱりRubyは大規模なものには
向かないと実感したよ。
1番多いミスが、変数に予期しない値が入っちゃうということなんで。
あと、初期化されていないフィールドと配列のインデックス越えでnilを返すところね。
自動テストができないから、リファクタリングも危険が伴うし。
もしまたスクリプト言語でゲームを書く機会があったら、今度はPyGameでやってみたい。

OpenALは3D空間内で音が聞こえてるようにシミュレートするやつだから
ファイル読み込みとかはほとんどできないよ。
■ このスレッドは過去ログ倉庫に格納されています