SDL=Simple DirectMedia Layerでゲームだ
■ このスレッドは過去ログ倉庫に格納されています
SDL-IM: IM(Input Method) support in SDL
http://sdl-im.csie.net/ >Sorry, I don't know how to pack .rpm or .deb file.. orz
のorzって異国の人もわかるの? >>187
ワラタ
最近、ネット関連はタイムラグなしに交流するなぁ orzの場合は日本語圏から流出するまでかなり間があったと思うけどな。
(その前身のOTLとか全角記号バージョンも含めて)
しばらくgoogleとかで観察してたけど、
日本語ページしかひっかからない時期が長かった。
だからOpenGLは3D専用で
サウンドや入力関連サポートしてないから
SDLやDirectXの代わりにはならんとあれほど(ry DirectXにおいてDirect3Dと同じポジションにあるのが
SDLにおいてはOpenGLなのだ
まぁ、DirectXよりSDLのほうがサポートしてる範囲は広いけどね
(移植性も考えてあるのだから当然だが) 移植性つっても実質不細工なLinuxとWin32だけだろ(プゲラ
Simple DirectMedia Layer supports Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD,
BSD/OS, Solaris, IRIX, and QNX. There is also code, but no official support, for Windows CE, AmigaOS,
Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and SymbianOS.
CEやMAC、ドリームキャストまでいけるぞw まともな動作実績もないのによくそんな適当なこと載せるよな(プゲラ おそらくトップページのDQN管理人が移植性謳う割にあんまりな
ports率なんで適当に付け足したんだろうな。
トップページ以外、
ど こ に も 書 い て な い ね 。 READMEにも書いてある。ちなみにこのファイルのコミットはSam氏がしている。
あなたに正当性があると思うなら、こんなところに書き込まずMLに投げてみれば?
Sam氏をはじめ多くの開発者が目を通している。 実際、FreeBSD, Mac OS Classic, Mac OS X でまともに動いていますよと。 SDL_gfxを使っています
rotozoomSurfaceで画像を回転させるところまでできたのですが中心がズレます
どうやら回転後の図形を左上に詰めているようなのですがこれではゲームになりません
中心を固定する方法はないでしょうか? surface->w, surface->hを見てblitする位置をその度に変えたらいいやん。 >>209
座標(中心)からwとhの半分をそれぞれ引いて求めることが出来ました
ありがとうございます GLスレでSDLスレで聞いたほうがいいといわれきました。
OpenGL + SDL環境で作っています。
OpenGL + SDLでDirectXのスプライトのようなことができる方法にはどんなやり方がありますか?
自分は、
SDL_Surfaceに画像を読み込んで、
SDL_BlitSurfaceで画面に貼り付けようとしているのですがうまくいきません。
SDL_GL_SwapBuffersのあとにSDL_BlitSurfaceではりつけています。
貼り付けたまま何もしないと貼り付けが反映されず、
SDL_UpdateRectを呼ぶと、プログラムが強制終了します。
testgl.cの
int RunGLTest( int argc, char* argv[], int logo, int logocursor, int slowly, int bpp, float gamma, int noframe, int fsaa )
と
void DrawLogoBlit(void)
をよくみてわからなかったらソースをさらせ。
それとSDL_GL_SwapBuffersは、SDL_BlitSurfaceの後に呼ぶんじゃないかな?
SDL_UpdateRectの強制終了とは関係なさそうだが…。 testgl.cをみましたが解決しませんでした。
ので、ソースを
void SetDraw( void ){
//イメージのロード
SDL_Surface *Image01 = NULL;
if( Image01 == NULL ){
Image01 = SDL_LoadBMP( "./image/image01.bmp" );
}
//描画
{
SDL_SetAlpha( Image01 , SDL_SRCALPHA , 128 );
SDL_SetColorKey( Image01 , SDL_SRCCOLORKEY , 0x00169B6E );
if( SDL_BlitSurface( Image01 , NULL , Screen , NULL ) < 0 ){
//エラー
}
}
SDL_UpdateRects( Screen , 0 , 0 , 0 , 0 );
}
void Display( void ){
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
//3Dの描画
glPopMatrix();
glClear( GL_DEPTH_BUFFER_BIT );
DrawLogoBlit();
SDL_GL_SwapBuffers();
} SDL_GL_SwapBuffers()の前に描いてみましたが変わらなかったです。
SDLとGLの初期化の所を間違っているのでしょうか?
>>214
SDL_OPENGLBLITか?
ただあれは「遅いので使うな、2D描画もOpenGLでやれ」ということになっていたはず。
かなり昔の話だけど今でも同じだと思う。
>>215
ありがとうございます。
おっしゃるとおり、SDL_OPENGLBLITです。
GLのテクスチャで描画するとぼけてしまうのがどうも・・・・。
いろいろ努力してみます。
>>216
glOrthoで座標系をウィンドウに合わせてやればテクスチャはぼけないはず。 >>217さん
ありがとうございます。
ぼやけずにかくことができました。
なんかC言語プログラムって感じがして結構気に入ってる
C++でやってるけど 他のライブラリから乗り換えようと思うのですがソースが公開されたゲームはないでしょうか
縦シューを探していますが小規模なアクションならなんでもいいです >>220
http://www.asahi-net.or.jp/~cs8k-cyu/windows/rr.html
とかどう? >>221
期待していたものより立派なゲームだったので気負っていますがソースは見やすかったです。
OpenGLも使ってるようで読み甲斐があります。
ありがとうございます。 >>233
bug fixがメイン。
Changes since 1.2.8:
* Numerous improvements to the Atari port (thanks Patrice!)
* SIGTERM and SIGINT handlers are reset when SDL shuts down
* Added support for Visual C++ 2005 (Express Beta 2) to VisualC.zip
* Fixed crash trying to allocate hardware surfaces on MacOS X (thanks Ryan!)
* Fixed SDL.DLL so it works on Windows 95 again
* Dropping a document onto an SDL app passes it as a command line parameter in MacOS X (thanks Ryan!)
* Fixed short read problem with SDL_RWFromMem() (thanks Antonio!)
* Added support for SDL_VIDEO_X11_NODIRECTCOLOR on OpenGL visuals
* Altivec optimized blitters (thanks Bob!)
* YUV mmx code should work with gcc 2.x and 3.x (thanks Stephane!)
* Fixed hang on shutdown using framebuffer console on ia64 (thanks Jesse!)
* Improved RISC OS support (thanks Peter and Alan!)
* Added support for direct color 8-bpp surfaces
* Fixed gcc parse errors in SDL_audio.h on Windows
* Fixed potential crash in multi-threaded timers
* Added support for Tru64 UNIX 4.X (thanks Hayashi!)
* SDL_OPENGLBLIT has been renamed SDL_OPENGLBLIT_OBSOLETE いや、むしろへっぽこ自作ライブラリなんかと比べるとSDLはバグは少ないよ
つーか、英語ちゃんと嫁 SDL+OpenGLってDirectX+OpenGLだと最近知ったよ
よく動いてるよな 質問です。
SDLでジョイスティックを振動させることはできるのでしょうか?
関数リファレンスには見つからなかったので・・。
winならDirectInputのForce Feedback API、とかで出来そう。 ごめんなさい、linuxです。
linuxですが、Winでも動くようにも作りたいので、共通のライブラリだとありがたいです。 Win用の64bitバイナリバージョンは出ないのかな?
SDLを64bitで無理やりコンパイルしようとすると、インラインアセンブラが廃止されてるんで、エラーでちまう・・・。 s-jisをUNICODEに変換する関数はありますか? VC++.netを使用していますが、質問があります。
SDL_Init などのSDLの関数が、入力候補のウィンドウの中に表示されませんし、
パラメータヒントも出てきません。
こういうものなんでしょうか?
これが初めてのライブラリなので、設定の間違いでもあるのかと気になっています。
よろしくお願いします。 VC++のインテリセンスはそんなもの。
正常にリンク・実行されるならそれでよし。 >>238
なんか出てくる関数もあったりしてよくわかりませんが、このまま勉強していきます。
ありがとうございました。 未踏でSDL-pangoとか作ってるみたいだけど、SDL_ttfとどっちがマシかなぁ?
SDL_ttfっていいうわさ聞かないんだよね・・・ 1.2.9がVCExpress製品版で動くことを確認しますた ながれぶったぎってすみません。
SDLってCでもつかうことはできますか?
それとつかう場合、なんというファイルをインクルードすれば良いのでしょうか?
お教えいただけますと幸甚です。 >>247
>仕様記述言語SDL コンピュータ通信シリーズ 5
どうみても違います
本当にありがとうございました。 >>252
かなり活発なので驚きました
ありがとうございます ライセンスはLGPLだということですが、このライブラリを利用して作ったゲームはソース公開の義務はあるのでしょうか? 無い。改変した SDL でリンク出来るようにしておかないとダメ。 SDL_GL_SetAttributeで色のサイズを5ビットに設定したとき、
ピクセルあたり8ビットのBMPを読み込んでいるとき、
glTexImage2Dでは自動的に5ビットに直されるのでしょうか、
それとも、描画時に勝手に直されるのでしょうか?
もしくは8ビットを自分で5ビットになおさないといけませんか? >>254
LGPLだと作者が翻ってGPL宣言したとたんさかのぼって適用されないのかと心配
>>255
objを同梱するのも嫌なんだけど、SDLは全部DLLなんすか? >>258
> LGPLだと作者が翻ってGPL宣言したとたんさかのぼって適用されないのかと心配
将来のバージョンでGPLになった場合でも、既にLGPLな時にリンクされたバージョンに遡って適用されることはない。
例えば、LGPLの1.2.9を入手して使用してたとして、
作者が1.2.10とかでGPLにライセンス変更するようなことがあったとしても、
1.2.9をLGPLライセンスの元で使用し続けることは可能。
> objを同梱するのも嫌なんだけど、SDLは全部DLLなんすか?
SDL本体はDLL(つか、公式のバイナリを見ればすぐ分かることだと思うが…)。
その他にwindowsなんかの場合SDLmainというのが存在し、これは通常スタティックリンクされるが、
このファイルだけはPublic Domainなのでスタティックリンクしてもソース公開の義務は無い。 LGPLのライブラリって多いから、毛嫌いもしてられないって感じだね。
FSFとしては、LGPLを将来的に無くしてしまうつもりとかあるのかな。非推奨とか言ってるけど。
続いて欲しいな・・・。 >>260
FSFのLGPLは強すぎるGPLに対して好意で設けているわけではない。
きわめて戦略的。GPLが嫌われてるのは連中も認識しているから、
それだと普及の妨げになると判断した時LGPLにする模様。
>>258
>既にLGPLな時にリンクされたバージョンに遡って適用されることはない。
信用できない。 >>261
信用出来ないって、書かれている事が全てだよ。
戦略的だからこそ、信用出来ると思うけどね。Lesser という名前を付けてまで LGPL を
設けなきゃいけない理由は皆知ってるし。無くなれば非難囂々でしょう。
あんまり的外れな議論をしてると GPL 信者が寄って来るよ。
「信用出来ないなら使わなきゃいーじゃん」って。 >>255
>改変した SDL でリンク出来るようにしておかないとダメ。
これはSDLがどのような形になるか不明であるため
ソースコードを提供しなければ履行できないのではないか
たとえば関数の引数が変わればリンクはできないなど
SDL側の改変の幅がわからなければ対応しようもない 互換性失うような改変にまで対応する責任はないよ。
互換性保ったまま改変した SDL に対して、正常にリンク・動作できればいい。
# …っていうか、疑問があったら読もうよ、ライセンス。
# これもちゃんと書いてあったし。 2月17日最終書き込みでDAT落ちしてるっぽい
980超えたからだな
1000いってないから2chミラーサイトに拾われないので
ログは持ってたほうがいいよ やっぱ落ちてたのか。
誰かあっちにパート2立ててくれないかな・・・。
俺の環境じゃなんか新スレ立てに失敗してしまう・・・。 それなりに情報があるから会話が必要ないのかな
これだけ整備されてるとアイデア勝負だから時々絶望する ゲームはアイデアよりバランスと構成勝負
Aba氏とか見て絶望する必要はない。彼は所詮アマチュア。 アイデア+バランス勝負だろ。
プロとアマの差は組織力だけだと思うな。 SDL_ToggleFullScreenって何で役に立たないんだろう FAQにはこう書かれています。
----------------------------------------------------------------------------
Q: Why doesn't SDL_WM_ToggleFullScreen() work on Windows?
A: The semantics of SDL_WM_ToggleFullScreen() are that switching between fullscreen
and windowed mode is transprent to the application.
The display pixels pointer does not change, the display depth does not change, etc.
This cannot be guaranteed on Windows. However,
there is a simple method you can use to change between fullscreen and windowed mode:
flags ^= SDL_FULLSCREEN;
screen = SDL_SetVideoMode(..., flags);
----------------------------------------------------------------------------
Ruby/SDL で mixer の初期化に失敗するのですが、同じ症状で解決された人いましたらご教示よろしくお願いします。
ディストリは CentOS 4.3
$ uname -srvmpio
Linux 2.6.9-34.0.2.EL #1 Fri Jul 7 19:24:57 CDT 2006 i686 i686 i386 GNU/Linux
$ruby -v
ruby 1.8.4 (2005-12-24) [i686-linux]
SDL_mixer-1.2.7 はソースからコンパイルしてインストールしました。
導入しようとしたのは Ruby/SDL 1.1.0 で、
sampleディレクトリ下の playwav.rb を実行すると
/usr/local/lib/ruby/site_ruby/1.8/sdl.rb:220:in `open_imp': Couldn't open audio: Couldn't create mixer lock (SDL::Error)
from /usr/local/lib/ruby/site_ruby/1.8/sdl.rb:220:in `open'
from playwave.rb:7
というエラーが出ます。
SDL_OpenAudio で止まってるようで、簡単なテストコードをCで書いても同じメッセージ(Couldn't create mixer lock)が出ます。 遅レスな上に当てずっぽうだがSDL_mixerが新しすぎるとみた。
もう解決してたらスルーしてくれ。 たった今解決しました。(汗
公式サイトの
ttp://www.libsdl.org/release/SDL-1.2.11-1.i386.rpm
をインストールしなおしたあとで動くようになりました。
ただ、SDL_mixerのconfigure時にsdl-configのパスが間違っていたっぽかったので
そっちだったのかもしれません(それでもconfigureは通るんですよね)。
x) /usr/local/bin/sdl-config
o) /usr/bin/sdl-config
結局具体的に何がどうだったのかいまいち不明です。
なんだか参考にならなそうですみません。
>>279さんの書き込み見る前にニアミスで解決しちゃったんで、ありがとうございます、ではないですけど・・・おさわがせしました〜。
いちおう書いておくと、SDL_mixerのmixer.cの SDL_OpenAudio のとこ(300行付近)↓
で止まってました。
/* Accept nearly any audio format */
if ( SDL_OpenAudio(&desired, &mixer) < 0 ) {
return(-1);
}
■ このスレッドは過去ログ倉庫に格納されています