SDL=Simple DirectMedia Layerでゲームだ
■ このスレッドは過去ログ倉庫に格納されています
BASICって言ってみたい年頃なんだよ。大目に見てやれ。 >>142
>しかしながら、Cではそれっぽくはできても、完全には不可能なのでは?
>例えばカプセル化とかオーバーロード、あるいは継承とか。
ハァ?(゚Д゚)
http://www.sage-p.com/process/cool.htm D&Eさえ読んでいたらそんな恥ずかしい発言をしなくて済んだのに(´・ω・`) Cなら命名規則とか可変個引数とかで同様の効果はあるんじゃないか?
SDL_archiveってどんな形式に対応してるのですか? >>160
関数のオーバーロードに関しては書いてねーYO!痴呆が。 自分が読んでいないのを棚に上げて他人にリンク先嫁と言うのが
流行っているインターネットはここでつね? JavaでできるところはJavaで、SDLが得意なところはSDLでって役割分担は面白そうだが SDLはマルチプラットフォームなマルチメディアの基盤を作るのが目的でしょう?
Javaはもともとマルチプラットフォームに作られているから必要なくないですか? SDL.NETがすでにあるんだから別にJavaのSDL bindingあってもおかしくないと思われ >>159をおながいします。
ドキュメント読んでもソース読んでもどこにも書いてないのですが……。
どんな圧縮ファイルを用意したらいいんでしょうか。 ディレクトリ/zip/gzipped tar
つかソースやドキュメント全く読まずに質問するなよ。
読んだって?嘘つくな。README.jaにそのまま書いてあるだろ。それ以前にソースファイル名見て見当も付かないのか。 ロクに読んでいないくせに読んだけど見つからないと言うのが流行っている
インターネットはここでつね? 以前サークルで内輪向けのショボゲーをSDL+OpenGLで組んだことがあるけど、
マカーな友人のためにマックに移植する作業がわずか3時間ほどで出来てしまった。
あまりにも呆気なく動いたんで拍子抜けしてしまったよ。
クロスプラットフォームで開発したいんならいいんではないかね。 OpenGLはまともに動かない環境が割と多いからなあ。
MatroxのG400系のカードとか。 >173
Matroxの対応状況はわからないけど
OpenGLは1.2程度の機能だけにしておけば
大抵の環境では動作するんじゃないのか? G400とかG450とかだと全く動かない。
1.1は動くけど完全にソフトウェアエミュレーションで
1秒に数コマしか動かない。 G400ってVoodoo3やTNT2あたりの時代だろ?
G450もGeForce2 MXの足元にも及ばないシロモノだよな
そんなので3Dやること自体が間違ってる希ガス ttf使えないみたいだけど、どうやって日本語表示するのだろう。 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でもつかうことはできますか?
それとつかう場合、なんというファイルをインクルードすれば良いのでしょうか?
お教えいただけますと幸甚です。 ■ このスレッドは過去ログ倉庫に格納されています