SDL=Simple DirectMedia Layerでゲームだ

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
DirectXなんて捨てちまえ。
これからはSDL。

本家
http://www.libsdl.org/index.php

ゲームとか
http://adas.lolipop.jp/digit/index.php?SDL

サンプル
http://saka.moo.jp/Linux/SDL.html
116114
垢版 |
05/01/19 00:28:16
>>115
トンクス。
おとなしくポリゴンにテクスチャを貼り付けます。
117デフォルトの名無しさん
垢版 |
05/01/24 05:32:08
動画再生(aviやmpgなど)したいのですが何か仕組みは用意されていますか?
05/01/24 14:17:08
mpegはsmpegを使うのが一般的。
aviは残念ながら、これいったものがない。
UNIX(like)なら、avifileというライブラリを使う方法がある。
サンプルはONScripterにある。
邪道だがmplayerで再生するのが楽(mpegもこれでいけるが…)。
05/01/24 22:49:32
GStreamerとかxineという手もあるね。
120117
垢版 |
05/01/25 09:25:26
>>118
>>119
ありがとうございます。途方に暮れてたのですがおかげさまで足がかりになりました。
05/01/27 01:00:34
allegroの欠点をおshぎえてください。
05/01/28 10:26:41
おshぎえません。
123デフォルトの名無しさん
垢版 |
05/01/28 11:59:46
アレグロのインストール方法教えて!
05/01/28 17:33:21
おshぎえません。
125Rubyist!
垢版 |
05/01/28 17:50:52
screenとか、fontとか、mouse_bとか、desktop_paletteとか、key[]とか、いかにもなグローバル変数がめったやたらとある。
126デフォルトの名無しさん
垢版 |
05/01/29 05:36:19
SDLで(ここSDLのスレですよね?)メニューを作りたいです。
ファイルとか編集とかがプルダウンメニューになってるアレです。
SDLならでは冴えたやり方は用意されてるでしょうか?
127Rubyist!
垢版 |
05/01/29 05:52:25
・Paraguiを使う
http://www.paragui.org/
- XMLからの構成、unicodeによる日本語表示、スキンに対応。
- sdl_image,Freetype,libsigc++2やexpat,physicsfsなど依存する
- SDL利用のGUIライブラリとしては良い方。参考までに
http://wgui.sourceforge.net/
http://freshmeat.net/projects/px-gui/
http://aedgui.sourceforge.net/
http://agar.csoft.org/index.html.en
http://www.libsdl.org/projects/GUIlib/
http://libuta.sourceforge.net/
http://www.newimage.com/~rhk/SDL_gui/
http://www.beatforce.org/index.php
- サポートされているウィジェットの数は限られているから注意。
Menu,Label,Button,Radio,Checkbox,Messageboxあたり。

・SDLのウィンドウをgtk+あたりでラップしてやる。
- GtkSDLあたりで調べればよい
- windows上ではwindibモードにする必要がある。
- 正規にサポートされた方法ではない
128Rubyist!
垢版 |
05/01/29 05:54:44
・大した手間じゃないから自分で書く
05/01/29 09:01:22
ゲームに使うグラフィックや効果音などをアーカイブしてまとめることの利点ってなに?
05/01/29 11:56:54
ファイル数が増えると、いろいろと大変なことになる。
05/01/29 12:50:37
>>129
まとめるだけではなくて、プレイヤーがみだりに素材だけを閲覧したりしにくくする
ためでもある。
05/01/29 12:55:19
>>131
そんなことできるんですか!?
05/01/29 14:54:25
リソースとして組み込めばえぇんじゃないの。
05/01/30 05:34:47
場合によってはexeファイルが大きくなりそうな悪寒
05/01/31 15:01:59
SDLをC++(クラスを使ったオブジェクト指向的なやり方)で書くのはありですか?
・・・いや、できるならやってみたいだけなんですけど。
05/01/31 21:43:08
>135
コンパイラによる
05/01/31 21:58:45
>>135
アリです。
できるよ。
05/01/31 21:59:01
>>135
意味がわからん
もともとオブジェクト指向風だぞ
05/01/31 23:44:48
>>136
コンパイラはBCC使ってます。

>>138
SDLってもともとオブジェクト指向風なんですか?
初耳です。
というかどの辺がですか?
巷で見かけるソースを見た限りだと、どうにもCみたいだったので・・・。
05/01/31 23:50:05
>>139
どうも勘違いがあるようだが、
オブジェクト指向とは言語に付属する構文なのではなくて、言語の"構文"とは別の次元の"パラダイム"と呼ばれるものの一つです。
要するに、"考え方"というもの。
だから、オブジェクト指向を銘打っていない言語でもオブジェクト指向プログラミング(OOP)は可能です。
当然CでもOOPは可能。
05/02/01 01:07:02
>135はもしかしてprintf関数はC++では使えないと思っていたのか?
05/02/01 01:55:55
>>140
しかしながら、Cではそれっぽくはできても、完全には不可能なのでは?
例えばカプセル化とかオーバーロード、あるいは継承とか。
あまり関係ありませんが、とある文献で
「C++はCにオブジェクト指向の皮をかぶせたようなものだ」
と書いてあるのを見たことがあるけど、それはそうだよなと思っています。
・・・漏れが未だ完全に理解できていないということか。

>>141
むしろいつもそんなことをやっています。
iostream.hなんて使わないし。
143Rubyist!
垢版 |
05/02/01 02:06:58
スレ違いだからそれ以上は余所でやってくれ。
初心者スレとか。
05/02/01 11:29:42
>>142
> 例えばカプセル化とかオーバーロード、あるいは継承とか。
詳細に書くと長くなってしまってスレ違いなのだが、可能だ。

> 「C++はCにオブジェクト指向の皮をかぶせたようなものだ」
これは単に言語仕様レベルでOOをサポートしたというだけの事で、要するにOOPが
しやすくなったというだけの事。
05/02/01 12:42:58
>>143,144
確かにこれ以上話していると、長くなってしまいそうなので、この辺で。
ってか、できるんだ>CでOOP
05/02/01 15:51:42
>>145
できるけどキモくなる&どう考えてもC++のほうが便利だから普通はやらないってだけの話。
r(ryのソースなど(ry

で、SDL width C++なら今ちょうどやってるとこ。
コールバック関数がないぶんglutよりやりやすいよ。
05/02/01 17:53:13
>>146 は BASIC あがり
05/02/01 18:10:40
SDL_archive
http://sdlarchive.sourceforge.jp/
05/02/01 18:17:38
糞ライブラリ宣伝おつ
05/02/02 00:26:40
糞ライブラリ認定おつ
05/02/02 23:50:23
>>147
(・3・)エェー
なんでそうなるYO
05/02/03 01:10:31
BASICって言ってみたい年頃なんだよ。大目に見てやれ。
05/02/03 04:15:07
>>142
>しかしながら、Cではそれっぽくはできても、完全には不可能なのでは?
>例えばカプセル化とかオーバーロード、あるいは継承とか。

ハァ?(゚Д゚)
http://www.sage-p.com/process/cool.htm
05/02/04 00:46:09
>>153
あるいはこれとか。
http://www.gnome.gr.jp/docs/gobject-2.4.x-tut/html/index.html
05/02/04 01:15:29
D&Eさえ読んでいたらそんな恥ずかしい発言をしなくて済んだのに(´・ω・`)
05/02/05 01:58:48
で、関数のオーバーロードに関してはどうなんだ?
05/02/05 02:23:36
Cなら命名規則とか可変個引数とかで同様の効果はあるんじゃないか?
05/02/05 02:24:26
ひっぱるなよ白痴
159デフォルトの名無しさん
垢版 |
05/02/05 16:02:40
SDL_archiveってどんな形式に対応してるのですか?
05/02/05 16:23:51
>>156
リンク先くらい嫁、池沼が。
05/02/05 18:10:49
>>160
関数のオーバーロードに関しては書いてねーYO!痴呆が。
05/02/05 19:37:43
自分が読んでいないのを棚に上げて他人にリンク先嫁と言うのが
流行っているインターネットはここでつね?
05/02/05 19:47:53
いつの間にかこんなものが
http://sdljava.sourceforge.net/
05/02/05 19:52:30
なんでJava…(汗
05/02/05 21:05:28
JavaでできるところはJavaで、SDLが得意なところはSDLでって役割分担は面白そうだが
05/02/05 21:10:58
SDLはマルチプラットフォームなマルチメディアの基盤を作るのが目的でしょう?
Javaはもともとマルチプラットフォームに作られているから必要なくないですか?
05/02/05 21:37:53
SDL.NETがすでにあるんだから別にJavaのSDL bindingあってもおかしくないと思われ
05/02/05 23:19:23
>>159をおながいします。
ドキュメント読んでもソース読んでもどこにも書いてないのですが……。
どんな圧縮ファイルを用意したらいいんでしょうか。
169Rubyist!
垢版 |
05/02/05 23:26:56
ディレクトリ/zip/gzipped tar
つかソースやドキュメント全く読まずに質問するなよ。
読んだって?嘘つくな。README.jaにそのまま書いてあるだろ。それ以前にソースファイル名見て見当も付かないのか。
05/02/06 03:20:48
ロクに読んでいないくせに読んだけど見つからないと言うのが流行っている
インターネットはここでつね?
05/02/06 13:54:11
それがSDLスレクオリティ
05/02/06 16:26:00
以前サークルで内輪向けのショボゲーをSDL+OpenGLで組んだことがあるけど、
マカーな友人のためにマックに移植する作業がわずか3時間ほどで出来てしまった。
あまりにも呆気なく動いたんで拍子抜けしてしまったよ。
クロスプラットフォームで開発したいんならいいんではないかね。
05/02/06 16:33:58
OpenGLはまともに動かない環境が割と多いからなあ。
MatroxのG400系のカードとか。
05/02/06 19:33:33
>173
Matroxの対応状況はわからないけど
OpenGLは1.2程度の機能だけにしておけば
大抵の環境では動作するんじゃないのか?
05/02/06 21:29:20
G400とかG450とかだと全く動かない。
1.1は動くけど完全にソフトウェアエミュレーションで
1秒に数コマしか動かない。
05/02/07 03:20:32
G400ってVoodoo3やTNT2あたりの時代だろ?
G450もGeForce2 MXの足元にも及ばないシロモノだよな

そんなので3Dやること自体が間違ってる希ガス
05/02/09 18:40:34
Aba games
05/02/20 14:15:19
Guichan
http://guichan.sourceforge.net/
05/02/20 16:28:52
ttf使えないみたいだけど、どうやって日本語表示するのだろう。
05/02/20 19:47:32
SDL_ttf
05/02/20 19:54:06
頭の悪そうな奴が来たw
05/02/20 19:59:48
>>179
cvs snapshot
05/02/20 20:01:48
>>181
おまrとかなwwwwwwwwwww
184デフォルトの名無しさん
垢版 |
05/02/22 22:39:44
SDL-IM: IM(Input Method) support in SDL
http://sdl-im.csie.net/
05/02/22 22:50:14
ほほう。
05/02/22 23:15:57
>Sorry, I don't know how to pack .rpm or .deb file..  orz
のorzって異国の人もわかるの?
187184
垢版 |
05/02/22 23:29:20
>>186
中華圏にも進出しているらしいw
http://chinese.g.hatena.ne.jp/Ctrans/20050214#1108340404
05/02/22 23:37:04
そもそもorzの起源は韓国ですが。
05/02/22 23:43:01
ああそんな記事あったなァ
05/02/24 00:01:25
>>187
ワラタ
最近、ネット関連はタイムラグなしに交流するなぁ
05/02/24 01:21:56
orzの場合は日本語圏から流出するまでかなり間があったと思うけどな。
(その前身のOTLとか全角記号バージョンも含めて)
しばらくgoogleとかで観察してたけど、
日本語ページしかひっかからない時期が長かった。
192デフォルトの名無しさん
垢版 |
05/03/10 04:47:53
OpenGLあればSDLっていらなくね?
05/03/10 04:59:10
だからOpenGLは3D専用で
サウンドや入力関連サポートしてないから
SDLやDirectXの代わりにはならんとあれほど(ry
05/03/10 05:43:31
DirectXにおいてDirect3Dと同じポジションにあるのが
SDLにおいてはOpenGLなのだ
まぁ、DirectXよりSDLのほうがサポートしてる範囲は広いけどね
(移植性も考えてあるのだから当然だが)
05/03/10 08:28:11
移植性つっても実質不細工なLinuxとWin32だけだろ(プゲラ
05/03/10 09:17:24
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
05/03/10 12:56:27
>>196
どこ見てるんだ?
オフィシャルにはLinux Win32 BeOS しか書いてないぞ
http://www.libsdl.org/intro/whatplatforms.html


05/03/10 13:06:34
トップページ
http://www.libsdl.org/index.php
05/03/10 13:11:38
まともな動作実績もないのによくそんな適当なこと載せるよな(プゲラ
05/03/10 13:12:48
>>197
http://www.libsdl.org/index.php
05/03/10 13:21:14
おそらくトップページのDQN管理人が移植性謳う割にあんまりな
ports率なんで適当に付け足したんだろうな。

トップページ以外、
ど こ に も 書 い て な い ね 。
05/03/10 14:10:23
READMEにも書いてある。ちなみにこのファイルのコミットはSam氏がしている。

あなたに正当性があると思うなら、こんなところに書き込まずMLに投げてみれば?
Sam氏をはじめ多くの開発者が目を通している。
05/03/10 16:10:33
実際、FreeBSD, Mac OS Classic, Mac OS X でまともに動いていますよと。
05/03/10 21:09:27
ゲ製作技術板のDCスレで動作報告あり
05/03/10 21:16:05
あっそ
05/03/11 23:54:29
>>205
キチガイの負け惜しみ乙
05/03/12 00:08:42
死ね
208デフォルトの名無しさん
垢版 |
2005/04/28(木) 08:53:56
SDL_gfxを使っています
rotozoomSurfaceで画像を回転させるところまでできたのですが中心がズレます
どうやら回転後の図形を左上に詰めているようなのですがこれではゲームになりません
中心を固定する方法はないでしょうか?
2005/04/28(木) 16:03:39
surface->w, surface->hを見てblitする位置をその度に変えたらいいやん。
210208
垢版 |
2005/04/28(木) 20:35:09
>>209
座標(中心)からwとhの半分をそれぞれ引いて求めることが出来ました
ありがとうございます
2005/05/28(土) 12:13:11
GLスレでSDLスレで聞いたほうがいいといわれきました。
OpenGL + SDL環境で作っています。

OpenGL + SDLでDirectXのスプライトのようなことができる方法にはどんなやり方がありますか?

自分は、
SDL_Surfaceに画像を読み込んで、
SDL_BlitSurfaceで画面に貼り付けようとしているのですがうまくいきません。
SDL_GL_SwapBuffersのあとにSDL_BlitSurfaceではりつけています。
貼り付けたまま何もしないと貼り付けが反映されず、
SDL_UpdateRectを呼ぶと、プログラムが強制終了します。
2005/05/28(土) 14:31:47
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の強制終了とは関係なさそうだが…。
2005/05/28(土) 16:45:11
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();
}
2005/05/28(土) 16:47:07
SDL_GL_SwapBuffers()の前に描いてみましたが変わらなかったです。
SDLとGLの初期化の所を間違っているのでしょうか?
2005/05/28(土) 21:38:27
>>214
SDL_OPENGLBLITか?
ただあれは「遅いので使うな、2D描画もOpenGLでやれ」ということになっていたはず。
かなり昔の話だけど今でも同じだと思う。
2005/05/29(日) 11:01:34
>>215
ありがとうございます。
おっしゃるとおり、SDL_OPENGLBLITです。
GLのテクスチャで描画するとぼけてしまうのがどうも・・・・。

いろいろ努力してみます。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。