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

SDLスレ

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

とりあえず、本山
http://www.libsdl.org/
0259名前は開発中のものです。03/07/29 18:30ID://nB7mSB
SDLってゲーム用のライブラリなの?
通常のアプリにはQtとかwxWindowsとかの方が使われている気がする
0260名前は開発中のものです。03/07/29 19:13ID:MKbOjP9O
>>258
ぉぉ、なるほど早速参考にしてみます。

で、やりました。
>directx
ありがとうありがとう(涙

>>256さんに紹介されたページ見て、
実はcygwinとかmingwで環境構築するのに挫折しますた。
なんて言えなかったんです。directxの初期化で挫折してSDLに流れたとも言えない。

お手軽なsdl+bcc++の環境は、
ものぐさプログラマには最適な環境だと思います。

ゲームのフレームワークを作っている段階ですので、
見せられるものはないですが、いずれ。
026125603/07/30 01:17ID:9leRKFRF
>>260
あぁ、bccでの話でしたか。
こっちこそ、よく見てなくてスマソ。

# 私自身は MinGW + MSYS で環境構築して利用してるんで、つい。
0262名前は開発中のものです。03/07/30 08:54ID:emdlFuX2
>>260
>実はcygwinとかmingwで環境構築するのに挫折しますた。
>なんて言えなかったんです。
全部ソースからコンパイルすると大変だけどcygwinで
バイナリパッケージを使えば挫折しなかったかも…

ttp://cefiro.homelinux.org/topics/SDL/setup-win32-cygwin-bin.html
026326003/07/30 14:41ID:XcasW74I
ぐふ、いずれクロスコンパイル環境作るときに使ってみます。
cygwin自体はQt開発のお遊び用に入ってたりして(;´Д`)

bccで環境作った手順
1.bcc55インストール
2.sdl1.2.5,sdl_image etcを展開→c:\sdl\include c:\sdl\lib へ
3.sdl1.2.5のbcc用アーカイブからライブラリをc:\sdl\libへ移動
4.sdl_imageなどbccアーカイブに入っていないライブラリを
  dllからimplibで取り出しc:\sdl\libへ移動
5.ilink32.cfg bcc32.cfgを用意
6.makefileを用意

あとはテキストエディタとコマンドプロンプトでちまちまと。
026426003/07/30 21:22ID:etHIwd/w
帰宅中で暇なので駄レス
sdl触って2週間。c/c++のブランク4年です。

悪戦苦闘しながらようやくゲームループとタスクシステム、
登録型描画の仕組みとフレームスキップが実装出来ました。
あと、入力を最低限抽象化。(joystickは放置中)

C/S型のゲームを作りたいので、
オブジェクトは敵味方自分問わず、
IDとメッセージを受け取って処理を行う形。

まだコントロールする部分は作ってないので、
入力から直接オブジェクトにメッセージ送ってみたり。
マウスクリックしたところにキャラがアニメーションしながら
移動するようにはなってる。
8方向移動画像がないので歩くとは言えない罠。

先は長いぞ
0265名前は開発中のものです。03/07/30 21:45ID:etHIwd/w
まだまだ着かない

入力部分組んだ時に文字列入力にも対応。
通常時Enterを押すと文字入力に移るような感じ。
連動してunicode_enable(だっけ)も制御。

入力文字列はバッファに保持しつつ、
ビットマップフォントで表示。
ログ管理を実装すればchatも可能かな。

ローマ字入力だけですが何か?
0266名前は開発中のものです。03/07/31 12:00ID:6e6nzADa
やりたい事
背景描画として32x32の画像を640x480の画面に敷き詰める。

・手順A
毎周期screen(表示サーフェイス)にmapchipを直接描画

// 描画周期
for(x=0; x<20; x++){
    for(y=0; y<15; y++){
        dst_rect.x = x*32; dst_rect.y = y*32;
        SDL_BlitSurface(mapchip, &src_rect, screen, &dst_rect);
    }
}

・手順B
 あらかじめmapchipを敷き詰めたbg用サーフェイスを作成し、
 毎周期screenにbgを転送(一般的な手法ですね)

// bgサーフェイス生成
bg = SDL_CreateRGBSurface(SDL_SWSURFACE, SCR_W, SCR_H, SCR_BPP,rmask, gmask, bmask, amask)
// 続いてbgへmapchipを敷き詰める
for(x=0; x<20; x++){
    for(y=0; y<15; y++){
        dst_rect.x = x*32; dst_rect.y = y*32;
        SDL_BlitSurface(mapchip, &src_rect, bg, &dst_rect);
    }
}
// 描画周期 bgをscreenにBlit(各rectは640x480を設定)
SDL_BlitSurface(bg, &src_rect, screen, &dst_rect);
0267名前は開発中のものです。03/07/31 12:01ID:6e6nzADa
30fpsでループを回している状態で、
手順Aは30fpsで描画されるのに対して、
手順Bは15fps程度しか出ないのです。普通逆だろうと。

bg作成時にSDL_CreateRGBSurfaceでSDL_HWSURFACEとか
|SDL_DOUBLEBUFとかやってみたのですが全く変化がありません。
ひょっとしてSDL_CreateRGBSurfaceを使う事自体が誤りなんでしょうか?
0268名前は開発中のものです。03/07/31 14:23ID:6e6nzADa
自己レス
人のソースを眺め見ました。
で、見つけたもの

SDL_DisplayFormat -- サーフェスを表示フォーマットに変換します。

bg = SDL_DisplayFormat(tmpbg);
としてワンクッション置くと速度低下はなくなりました。
0269名前は開発中のものです。03/07/31 20:14ID:9nUZEgou
>>266-268
これからも情報よろしく!
0270260,26603/08/03 06:31ID:2INujupL
まだ、飽きずにsdl触ってます

こんな感じ
ttp://www.metalmax-online.com/up/source/mmo0111.gif

カーネル部分はちまちまと出来てはいるんですが、
やっぱ素材用意するのが大変ですよね。

ウィンドウ一つ出すためにも素材用意しなきゃならないし、
文字表示もTTF導入が面倒なので放置中。。。
0271名前は開発中のものです。03/08/03 06:49ID:2INujupL
game no main

// デバッグ表示設定
rend_dbg=render_reg_text(REND_PRI_DBG,str);
// メインループ
while(input_main()==TRUE){
task_call();
if(!frame_skip){
fps++;
render_draw(); // 一括描画
}
maxfps++;
frame_skip=true;
while(true){
dw0 = SDL_GetTicks();
// 経過時間
dw1 = (dw0 - time_last) * 3 + time_mod;
if(dw1>100) break;
SDL_Delay(1);
frame_skip=false;
}
time_last = dw0;
time_mod = dw1 % 100;
if((time_last - time_start)>=1000){
sprintf(str,"fps:%d/%d",fps,maxfps);
fps=0;
maxfps=0;
time_start=time_last;
}
}
render_free_obj(rend_dbg);
0272名前は開発中のものです。03/08/03 06:53ID:2INujupL
主にここを参考にしています。
ttp://giggle.cside6.com/hotate/index.html

SDLプログラマにも凄く参考になると思う。
シンプルなSDLにシンプルなゲームプログラミング。

メインループつーかフレームスキップは、
見ての通り殆どそのまんまです(;´Д`)
0273名前は開発中のものです。03/08/03 11:04ID:tBp4Eh5I
>>270
楽しみ!!
できたらやらしてくだはい
0274名前は開発中のものです。03/08/03 11:32ID:atTRjDcc
SDLの欠点は、実際にゲームを作ろうとすると、
フォントやGUIが面倒なこと。

日本語表示がデフォルトのライブラリーキボンヌ
0275名前は開発中のものです。03/08/03 20:41ID:AJVBNou5
日本語の入力もね。
SKKじゃなー
0276名前は開発中のものです。03/08/03 21:32ID:2INujupL
>>274
表示する分にはsdl_bdfとかsdl_kanjiが良さそう
ttp://user.ecc.u-tokyo.ac.jp/~s31552/wp/sdlkanji/

導入手順からライセンス気にしないでいいbdfデータとか
どこかに一通りまとめて載ってればなぁ

>>275
入力だけ環境依存てのもイヤンだけど
imeをサポートするのが良い気もするね
ttp://www.freeml.com/ctrl/html/MessageForm/sdl-fan-jp@freeml.com/582/

ここだけは他の環境に比べると敷居が高いかな
0277名前は開発中のものです。03/08/03 22:23ID:wQr5xfPP
SDLでゲームを作ってるんですが、
画像のRGB値を変えて画像を赤っぽくしたり、
フェードさせたりしたいんですが、
どこかにサンプルでもないでしょうか?
0278名前は開発中のものです。03/08/04 09:14ID:O+VX8o/I
誰かに SDL_ime を作ってほしいね…
0279名前は開発中のものです。03/08/04 11:08ID:fZqC0/Lp
>>277
ピクセル単位で操作するだけなら、
SDLdocと一般的な色調補正アルゴリズムで可能かな
アルファチャンネルをいじる

って、遅くて使い物にならない予感なので、
SDL_gfxがその用途でしょうか

ttp://www.ferzkopp.net/Software/SDL_gfx-2.0/
>imageFilter functions

関数多すぎ。

てか、使ってないので具体的に書けなくてスマソ
0280名前は開発中のものです。03/08/04 11:19ID:fZqC0/Lp
>279の補足
sdldoc
>ttp://zinnia.dyndns.org/~cvsweb/sdldoc-jp/guidevideo.html#GUIDEVIDEOINTRO
コレな→getpixel()とputpixel()

ピクセル単位だとフィルタの処理DIBと変わらない
適当にぐぐって参考になりそうなページ
ttp://www.sm.rim.or.jp/~shishido/graphics.html

実用速度に達しなかったら、
SDL_gfxの使い方を調べる、と
028127903/08/04 11:44ID:fZqC0/Lp
>アルファチャンネルをいじる
思いつきで書こうとしたゴミが残ってました
気にしないでください気にしないでください
0282名無しさん@Linuxザウルス03/08/04 21:09ID:caYyIIpw
pngで真っ赤な画像を作成する。
アルファを50%ぐらいに設定で書き出し。

SDL_imageで読み込み
画像描画後のscreenにBlitしてやる。
一番簡単な簡単な赤色フィルタのできあがり。

速度的に問題なければこんなんでも
いいじゃんと思う
0283名前は開発中のものです。03/08/05 15:08ID:zbiAQW5j
>>282
# 速度的な問題はおいておくとして

仮にその方法でやるにしてもpng画像はつくらずに,
* SDL_CreateRGBSurface() で Surface つくって
* SDL_FillRect() で赤く塗って
* SDL_SetAlpha() で半透明にして
半透明の赤画像作るんじゃない?
(これならSDL_Imageもいらないし…)
028428203/08/05 21:48ID:eW46RnuS
>>283

秘密だがな、
SDL_SetAlphaの説明で泡を噴いた

pngだと半透過もプログラム無しで自由自在だ!
0285名前は開発中のものです。03/08/06 09:51ID:aF4kdC5r
フェードに使いたいと思うのですが、
>283さんみたいな方法で半透明のグラデーション(?)って、
どうやって作るんでしょうか

SDL_MapRGBAでピクセル単位で設定していくのかな
プログラムの流れが掴めないんです...
0286名前は開発中のものです。03/08/06 16:38ID:qsYmH3Qw
>>285
すごく冗長に書くけど下のような処理でいいの?

screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
tmp = SDL_LoadBMP("back.bmp");
back = SDL_DisplayFormat(tmp);
tmp = SDL_CreateRGBSurface(SDL_SWSURFACE, 640, 480, 32, 0xff000000, 0xff0000, 0xff00, 0xff);
for (i = 0;i < tmp->h;i++){
 SDL_Rect dstRect = {0, i, tmp->w, 1};
 SDL_FillRect(tmp, &dstRect, SDL_MapRGBA(tmp->format, 0xff, 0, 0, i * 0xff / tmp->h ));
}
redGradation = tmp;
SDL_BlitSurface(back, NULL, screen, NULL);
SDL_BlitSurface(redGradation, NULL, screen, NULL);

# 実際やるなら pixels を直接書き変えるかもだけど…
028728503/08/07 01:12ID:ecuGQ5wX
>286
ははぁそんな風に使うのですか
># 実際やるなら pixels を直接書き変えるかもだけど…

処理の速度もスマートもこっちの方が良さそうですね...

ともあれ、ありがとうございました!
028827703/08/10 22:04ID:3fyZnj/b
>>279-
色々とありがとうございます。
昔ながらの256色イメージだけで作りたいので
アルファは使わずにパレット操作で
なんとかできるようにがんばってみます。
0289名前は開発中のものです。03/08/14 19:27ID:cMmbZR7Z
SDL自身はLGPLだからDynamic Linkすれば、
アプリケーション側はライセンスに縛られない。

ここまではいいとして、WindowsやMacの場合はlibSDLmainを
スタティックリンクせざるを得ない気がするんだが、
これのライセンスは大丈夫なのか?
0290名前は開発中のものです。03/08/14 21:54ID:2h8LvvFv
>>289
SDL-1.2.5/src/main/win32/SDL_main.cを見ると
> SDL_main.c, placed in the public domain by Sam Lantinga 4/13/98
って書いてあるから win32 の場合は問題ない.

beos や macos, macosx の SDL_main のソースには LGPL
っぽいことが書いてあるので厳密に見ると libSDLmain を
スタティックリンクするとアプリケーションのソース公開の
必要が出てくるはず.

ただし SDL 作ってるところがそれを要求することはなさそうだし,
win32 バージョンがパブリックドメインになってるところを見ると,
スタティックリンクの問題は認識してるっぽい…

要望さえすれば win32 以外の libSDLmain のソースコードの
ライセンスも変更してくれる可能性は高いんじゃないかな??
Mac 版バイナリとか配布したくてどうしても気になるならメール
してみれば??
0291名前は開発中のものです。03/08/14 23:33ID:cMmbZR7Z
>>290
ありがトン。
今回Win32とMacOSXを考えてたんですが、
OSXのほうは厳密に見たらアウトっぽいでつね。
ただ、先程本家SDL-mlの過去ログとかあさってみたんですが、
それで問題になってるケースは無いようなんで、
気にしすぎなければいいだけなのかも、と思えてきました。
# 今年の2月ごろにLicense変更の議論があったみたいですが、
# 変わるとしても次バージョン(SDL-1.2.6)からなのかな?

本当は、
> Mac 版バイナリとか配布したくてどうしても気になるならメール
> してみれば??
するのが正しい対処なんだろうけど英語読むのはともかく書くのが苦手で…。
0292名前は開発中のものです。03/08/15 06:52ID:UWeiB8uB
>>291
ごめん.よく見たら SDL-1.2.5/src/main/macosx/SDLmain.m には
> Feel free to customize this file to suit your needs
って書いてあるだけで LGPL だとは書いてないね.
これがライセンスに相当するのかよくわからんけど,
問題ないのかも…
0293名前は開発中のものです。03/08/15 23:07ID:PGk8s/Xy
SDLを簡単に使える統合開発環境無いですか?
0294名前は開発中のものです。03/08/15 23:58ID:8cJqaZWw
>>293
VC++でもProject Builderでもお好きにどうぞ。

そもそもSDL自体がウィンドウにWidgetペタペタってタイプのライブラリじゃないんで、
統合環境使っても便利なデバッガぐらいの意味しかない。
0295名前は開発中のものです。03/08/16 06:04ID:Pwn6a/b8
http://esenden.com/rank/network/ranklink.cgi?id=mercury
0296名前は開発中のものです。03/08/16 16:13ID:UdbGIJgL
sdlで開発していてソースを公開していないとこ
ありますか?良いのかダメなのかという議論より
そっちを探した方が早いと思うんだけど

自分でも探してきまーす
0297名前は開発中のものです。03/08/18 09:32ID:UOWMD29Z
>>296
あるかと言われればここにいっぱいあるかと
ttp://www.lokigames.com/products/

でも仕事で SDL を使いたいとかの場合,人がどう使ってるか
じゃなくてライセンス上(法律上)問題がないことが確認できないと
使えない(会社の許可がおりないとか),みたいなこともあるので
ライセンスについて話をしなくてすむということにはならないでしょう…
0298名前は開発中のものです。03/08/19 11:22ID:WgDTgw+R
>>297
>ライセンス上(法律上)問題がないことが確認できないと使えない(会社の許可がおりないとか)
会社の許可があろうがあるまいが、ライセンス上の問題を抱えたまま使うわけにはいかないだろ。
0299297じゃないが03/08/19 22:51ID:pK/wVDNB
>>298
まあまあ・・・
0300_03/08/19 23:39ID:o8K5C254
http://homepage.mac.com/yamazaki8
0301名前は開発中のものです。03/08/20 01:58ID:GLauqFru
■無料でオマンコが見れるのは独身貴族だけです■
■2000人限定ですのでお急ぎ下さい■
http://www.yahoo2003.com/akira/linkvp.html
030229703/08/20 08:54ID:jwy9xvpt
>>296
298 みたいのに叩かれないようにライセンスはちゃんと
チェックしましょうってことですね…
0303名前は開発中のものです。03/08/20 15:33ID:2JkP3biW
SDLでゲームを作ってるんですが、
ウィンドウハンドルやインスタンスハンドル
の取得はできないのでしょうかね?
後、DLLをEXEと同じフォルダに置いていますが
違うフォルダにおけたらいいなと思ってるのですが
これもやっぱり無理なんでしょうか・・・
よろしければ教えてください。
0304名前は開発中のものです。03/08/20 15:58ID:IAQ+2Jdj
>>303
あれ?SDL.dllの方はsystem32とかに置いても動くんじゃなかったっけ?
0305名前は開発中のものです。03/08/20 17:46ID:zeCXkCoe
>>303
DLL一般に言えることだけどパスの通ったディレクトリ
ならどこに置いてもいいんでない?
0306名前は開発中のものです。03/08/30 17:14ID:wTz8Yud2
保守っと。
0307名前は開発中のものです。03/08/31 10:00ID:Jri/HO3q
ttp://www.ferzkopp.net/Software/SDL_rotozoom/index.html
上のrotozoomSurfaceを使ってるのですが、画像を回転させたあと
SDL_SetAlphaを使って半透明にしたいのですが、うまくいきません・・・
どうしたらいいのでしょうか?
0308名前は開発中のものです。03/09/01 14:29ID:ND5cseGq
>>307

内部で作ったサーフェイスで回転させて
SDL_SetAlphaでAlpha設定した後
表示サーフェイスにBlitしてもダメ?
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 まで通ったので、あまりこだわらないことにします。(^^;
■ このスレッドは過去ログ倉庫に格納されています