SDL=Simple DirectMedia Layerでゲームだ
1 :
デフォルトの名無しさん :
04/12/22 03:59:48
2 :
デフォルトの名無しさん :04/12/22 04:02:48
多国語対応のIME処理は実装されたのか?
> DirectXなんて捨てちまえ エェー
後だし野郎
結構前は凝っていたけど、結局使わなくなったなぁ…
9 :
デフォルトの名無しさん :04/12/22 18:07:02
S すごい D でっかい L ルイージ
10 :
デフォルトの名無しさん :04/12/22 18:23:40
日本語を使いづらいのがなぁ・・・
未だかつて日本語のゲーム作ったことがないオレにはぴったりだ
>>12 うわ、何時の間にこんなのできてたんだろ、教えてくれてありがとう。
ワシがSDLで日本語扱おうとした時はSKKでホゲホゲ程度しか無かったんだよね。
14 :
デフォルトの名無しさん :04/12/24 02:26:08
なにこれ拡大縮小もできねーじゃん
>>14 できたと思うけど。
ていうか、できなくても簡単な事なら自分でやれよ。
>>15 うわなにゲーム作る奴なんて相手にしてくれないの?
ハードウェア支援が得られない拡大縮小回転なんて使い物にならないってwwwwwww
まぁまぁ ゲ製作板で同じような質問でてたよ
使えるかどうかなんて重要じゃない プロプラ(ry
19 :
デフォルトの名無しさん :04/12/24 03:40:30
>>17 みてきた
1.未実装。1.3まで待て
いつ出るの?
2.SDL_gfxを使え
インストール方法がわからん
3.やりたいならOpenGL
(´,_ゝ`)プッ
4.自前実装しろよm9(^Д^)プギャー
SDLの存在意義ないじゃん
スレタイにゲームって入ってわりにグラフィックしょぼくてなっかりだ
透過付き矩形コピーだけじゃん
公式サイト落ちてるし
> 2.SDL_gfxを使え > インストール方法がわからん 馬鹿は Allegro でも使ってろ。
SDL_gfxなんかウォーニングでまくりなんですけど リリースビルドできねーし
ま、オープンソースなプロジェクトの末路なんてこんなもんさ 期待するだけ無駄 関わるだけ時間の無駄
>透過付き矩形コピーだけじゃん DirectDraw未満だな
AllegroってSDLのライバルみたいだな 誰かスレ立ててよ
25 :
デフォルトの名無しさん :04/12/24 19:05:05
SDL_gfxのビルドに成功 ゲ製作技術板で最適化オフにすればいいって書いてあったから その通りにしたらうまくいった VS2003の最適化アリでうまくいった奴いる? いたらsdlgfx.dllとsdlgfx.libうぷして!
最適化OFFでうまくいった、ってアホだろ たまたまバグが発症しなかっただろだろ そんなもん使えるかよ
そうでもないよ
さすがオープンソース(ゲラ レベルの低さが露呈しても動じない
VC6まんせー
>>28 商業製品はコンペティターではない。
20年先も存在しつづけられれば勝ちなんだよ。
プロプラなものを支持するプログラマの精神構造が分からんよ オープンソースで職を奪われる危険でも感じてるのかい? それだったらちょっとは分かるけどw
32 :
デフォルトの名無しさん :04/12/24 20:40:37
33 :
デフォルトの名無しさん :04/12/24 21:23:08
>ちなみに、DLL版4Kバイト(DLLは532K)、静的リンク版が308Kバイト。けっこう小さいのかな。 Delphiよりでかい
実行ファイルが大きいとどんな問題があるのですか?
ドザは素直に DirectX 使ってりゃいいのに…。
正直SDLは微妙.なんというか,痒いところに手が届かない感じ. Simple Media Layerといいつつ,あんまり simple じゃないし. (あくまでプログラミングしてるときの主観だけど)
>>36 ライブラリという感覚で使いたいだけなら考えかたを改めないといけないよ。
あくまでLayer、層。この上に何かを乗っけて使うためにあるんだ。
ライブラリはSDLの一つ上に作られた物だよ。
>>37 んー,むしろ,Layerに徹せずライブラリ的な部分と癒着しているのが嫌かも.
フレームワークならTV3DやOGRE、Irrlichtがあるしね。 それらと比べてOpenGLと親和性が高いぐらいしか有利な点がない。
40 :
デフォルトの名無しさん :04/12/25 08:18:09
41 :
デフォルトの名無しさん :04/12/25 12:44:59
1ピクセルだけドット打つ関数を探しています。 SDL_FillRectや画像を用意してSDL_BlitSurfaceでの描画も考えましたが 本当にないのかなぁ?と思って質問します。よろしくお願いします。
43 :
デフォルトの名無しさん :04/12/25 13:50:46
>>42 ( ̄Д ̄)ガーン
了解です!ありがとうございました。
45 :
デフォルトの名無しさん :04/12/25 15:06:05
>>44 うまくいきそうです!
ありがとうございました。
46 :
デフォルトの名無しさん :04/12/25 19:38:47
>ハードウェア支援が得られない拡大縮小回転なんて使い物にならないってwwwwwww 拡大縮小回転はCPUで計算するんだぞw
47 :
デフォルトの名無しさん :04/12/25 22:12:04
SDL_GetVideoInfoの説明で「「最も適した」ビデオモードのピクセルフォーマットが入ります。」と ありますが何を基準に適したものを探していますか?
SDLよりいいライブラリって見たこと無い
SDLはDLLインポートすればすぐ使えるという意味では良い。 (スクリプト言語)/SDL とか作るのが楽。 ・・それだけかも。 ゲーム作りたいとは思わないし。 おまいらSDLで何してるの?
そもそもスレタイがゲームだし
52 :
デフォルトの名無しさん :04/12/25 23:41:11
SDLがレイヤーだっていうのはわかったけど じゃあ、その上に乗ってるようなラッパーやフレームワークってないの?
>>1 > DirectXなんて捨てちまえ。
SDLがDirectXを使って高速化しているの知らんのか?w
DirectXの初期化とかうざったいのをSDLが肩代わりしてくれるのは良い。 ・・それだけかも。 なんかたまにSEGVで落ちたりするし。 おまえらSDLで何してるの?
あんまり速度が出なくていいものや ハードウェアの機能を発揮できなくてもいいのにはいいんじゃない? エミュレータとか、どうせCPUでエミュレートしてハードウェアの機能 発揮する必要ないからよく使われてるね。
スルーしないで。。・゚・(ノД`)・゚・。
ソース読みなよ。
63 :
デフォルトの名無しさん :04/12/26 04:49:27
>Development Libraries: >SDL-devel-1.2.8-VC6.zip (Visual C++ 5,6,7) これってVC2003には対応してないってこと?
64 :
デフォルトの名無しさん :04/12/26 05:38:47
7は7.1を含む。
68 :
デフォルトの名無しさん :04/12/26 12:42:58
任意の角度の直線を引くにはどうすればいいですか?
>>68 SGEだったかな。
そういうライブラリがあるから、それを使う。
>>69 >>70 ども、ありがと
SDLにどういう姿勢で臨んだらいいかわかってきた気がするよ・・・・
72 :
デフォルトの名無しさん :04/12/28 04:41:27
lilary?
Win限定なら要らねえよ
Win限定なら国産でいくらでもライブラリってあるしな。
純国産でまともに開発が続いてるのはDXライブラリぐらいなもんだよ
あれはドキュメントがちゃんとしてるよな。 サンプルもしっかりあるし。
80 :
デフォルトの名無しさん :04/12/30 09:47:45
マルチプラットフォームといってもwinとLinux、macぐらいなものでしょ 他にもあるの?
超漢字も一応PC用のOSとしてある程度シェアがあるものだが…
82 :
デフォルトの名無しさん :04/12/30 12:48:36
Linux限定のゲーム開発に使えそうなライブラリってある?
clanlib plib allegro Irrlicht CrystalSpace 3D
84 :
デフォルトの名無しさん :04/12/30 15:48:20
86 :
デフォルトの名無しさん :05/01/03 10:27:44
3dをやりたいのですがメッシュの読み込みをサポートしたライブラリはありますか?
国産ライブラリならLuna・DXあたりが一応開発が進行形じゃない?
Lunaは韓国製では? あれを国産として扱うとしても唯一の3d対応ライブラリか・・・・_| ̄|○ 日本の2D信仰もここまで来ると癌だな
SDLと関係のない話は余所でやれ。
93 :
デフォルトの名無しさん :05/01/06 00:51:50
SDLってライン引いたり円書いたりできる?? なんていうか、グラフ操作みたいなことってできる? なかったらGDIラップしようかとおもってるんだけど。
ミリ
>94 さんきゅー
このスレDelphiの話題もOKなのか?
sdlに関する事なら可だろうが、Delphiな人でこのスレを見ているひとは少なかろう。
>>93 点を打つ方法ならあるからそれを基に自分で作れば可能w
点や線ならSDL_FillRectでいいんじゃね?
>>98 結局、BASIC時代にやってたVRAM直接アクセスなんかは無駄じゃなかったんだよなぁ
SDL_gfxでも使えば?
allegroとSDLの比較をせい。」「
102 :
デフォルトの名無しさん :05/01/10 20:25:27
"+www.libsdl.org" の検索結果 約 48,300 件中 1 - 50 件目 (0.27 秒) "alleg.sourceforge.net" の検索結果 約 4,910 件中 1 - 50 件目 (1.02 秒) SDLの圧勝
また頭悪そうなのが現れたなw
104 :
デフォルトの名無しさん :05/01/10 22:17:53
allegroを日本語で解説してるサイトないですか?
Allegroはゲーム製作に特化したall-in-oneがモットーのライブラリで、描画系は勿論のこと、 設定ファイルのRW/リソースファイルのpacking/FLICアニメーションの描画/MIDI演奏 ついでにいくつかの3D用の関数や簡易GUI部品まで含む。 SDLは周辺ライブラリでそこら辺を補っているので別にどちらが多機能とかは無いだろう、たぶん。 CのAPIは(install_keyboardとか、load_bitmapとか)プレフィックスつけておいて欲しかったな、とか なんかいろいろグローバル変数が多いな、とか思ったりするが。
あるけど教えない
allegro でググったけど上位500件はallegroのサイトみつからなかった
108 :
デフォルトの名無しさん :05/01/11 12:31:05
ゲ製作技術の642からが・・・・・・
>>109 ちょっとおもしろかったけどわざわざ書くほどじゃない
111 :
デフォルトの名無しさん :05/01/16 04:25:45
SDLってDirectXやOpenGLがない環境でも動きますか?
hai
SDLのBlitSurfaceとOpenGLって同時使用できないんですか? GL使用中にやっても表示に反映されないんですが。
>114 残念ながらGL使用中にはBlitSurfaceは同時使用できません
>>115 トンクス。
おとなしくポリゴンにテクスチャを貼り付けます。
117 :
デフォルトの名無しさん :05/01/24 05:32:08
動画再生(aviやmpgなど)したいのですが何か仕組みは用意されていますか?
mpegはsmpegを使うのが一般的。 aviは残念ながら、これいったものがない。 UNIX(like)なら、avifileというライブラリを使う方法がある。 サンプルはONScripterにある。 邪道だがmplayerで再生するのが楽(mpegもこれでいけるが…)。
GStreamerとかxineという手もあるね。
>>118 >>119 ありがとうございます。途方に暮れてたのですがおかげさまで足がかりになりました。
allegroの欠点をおshぎえてください。
おshぎえません。
123 :
デフォルトの名無しさん :05/01/28 11:59:46
アレグロのインストール方法教えて!
おshぎえません。
screenとか、fontとか、mouse_bとか、desktop_paletteとか、key[]とか、いかにもなグローバル変数がめったやたらとある。
126 :
デフォルトの名無しさん :05/01/29 05:36:19
SDLで(ここSDLのスレですよね?)メニューを作りたいです。 ファイルとか編集とかがプルダウンメニューになってるアレです。 SDLならでは冴えたやり方は用意されてるでしょうか?
・大した手間じゃないから自分で書く
ゲームに使うグラフィックや効果音などをアーカイブしてまとめることの利点ってなに?
ファイル数が増えると、いろいろと大変なことになる。
>>129 まとめるだけではなくて、プレイヤーがみだりに素材だけを閲覧したりしにくくする
ためでもある。
リソースとして組み込めばえぇんじゃないの。
場合によってはexeファイルが大きくなりそうな悪寒
SDLをC++(クラスを使ったオブジェクト指向的なやり方)で書くのはありですか? ・・・いや、できるならやってみたいだけなんですけど。
>135 コンパイラによる
>>135 意味がわからん
もともとオブジェクト指向風だぞ
>>136 コンパイラはBCC使ってます。
>>138 SDLってもともとオブジェクト指向風なんですか?
初耳です。
というかどの辺がですか?
巷で見かけるソースを見た限りだと、どうにもCみたいだったので・・・。
>>139 どうも勘違いがあるようだが、
オブジェクト指向とは言語に付属する構文なのではなくて、言語の"構文"とは別の次元の"パラダイム"と呼ばれるものの一つです。
要するに、"考え方"というもの。
だから、オブジェクト指向を銘打っていない言語でもオブジェクト指向プログラミング(OOP)は可能です。
当然CでもOOPは可能。
>135はもしかしてprintf関数はC++では使えないと思っていたのか?
>>140 しかしながら、Cではそれっぽくはできても、完全には不可能なのでは?
例えばカプセル化とかオーバーロード、あるいは継承とか。
あまり関係ありませんが、とある文献で
「C++はCにオブジェクト指向の皮をかぶせたようなものだ」
と書いてあるのを見たことがあるけど、それはそうだよなと思っています。
・・・漏れが未だ完全に理解できていないということか。
>>141 むしろいつもそんなことをやっています。
iostream.hなんて使わないし。
スレ違いだからそれ以上は余所でやってくれ。 初心者スレとか。
>>142 > 例えばカプセル化とかオーバーロード、あるいは継承とか。
詳細に書くと長くなってしまってスレ違いなのだが、可能だ。
> 「C++はCにオブジェクト指向の皮をかぶせたようなものだ」
これは単に言語仕様レベルでOOをサポートしたというだけの事で、要するにOOPが
しやすくなったというだけの事。
>>143 ,144
確かにこれ以上話していると、長くなってしまいそうなので、この辺で。
ってか、できるんだ>CでOOP
>>145 できるけどキモくなる&どう考えてもC++のほうが便利だから普通はやらないってだけの話。
r(ryのソースなど(ry
で、SDL width C++なら今ちょうどやってるとこ。
コールバック関数がないぶんglutよりやりやすいよ。
糞ライブラリ宣伝おつ
糞ライブラリ認定おつ
BASICって言ってみたい年頃なんだよ。大目に見てやれ。
D&Eさえ読んでいたらそんな恥ずかしい発言をしなくて済んだのに(´・ω・`)
で、関数のオーバーロードに関してはどうなんだ?
Cなら命名規則とか可変個引数とかで同様の効果はあるんじゃないか?
ひっぱるなよ白痴
159 :
デフォルトの名無しさん :05/02/05 16:02:40
SDL_archiveってどんな形式に対応してるのですか?
>>160 関数のオーバーロードに関しては書いてねーYO!痴呆が。
自分が読んでいないのを棚に上げて他人にリンク先嫁と言うのが 流行っているインターネットはここでつね?
なんでJava…(汗
JavaでできるところはJavaで、SDLが得意なところはSDLでって役割分担は面白そうだが
SDLはマルチプラットフォームなマルチメディアの基盤を作るのが目的でしょう? Javaはもともとマルチプラットフォームに作られているから必要なくないですか?
SDL.NETがすでにあるんだから別にJavaのSDL bindingあってもおかしくないと思われ
>>159 をおながいします。
ドキュメント読んでもソース読んでもどこにも書いてないのですが……。
どんな圧縮ファイルを用意したらいいんでしょうか。
ディレクトリ/zip/gzipped tar つかソースやドキュメント全く読まずに質問するなよ。 読んだって?嘘つくな。README.jaにそのまま書いてあるだろ。それ以前にソースファイル名見て見当も付かないのか。
ロクに読んでいないくせに読んだけど見つからないと言うのが流行っている インターネットはここでつね?
それがSDLスレクオリティ
以前サークルで内輪向けのショボゲーをSDL+OpenGLで組んだことがあるけど、 マカーな友人のためにマックに移植する作業がわずか3時間ほどで出来てしまった。 あまりにも呆気なく動いたんで拍子抜けしてしまったよ。 クロスプラットフォームで開発したいんならいいんではないかね。
OpenGLはまともに動かない環境が割と多いからなあ。 MatroxのG400系のカードとか。
>173 Matroxの対応状況はわからないけど OpenGLは1.2程度の機能だけにしておけば 大抵の環境では動作するんじゃないのか?
G400とかG450とかだと全く動かない。 1.1は動くけど完全にソフトウェアエミュレーションで 1秒に数コマしか動かない。
G400ってVoodoo3やTNT2あたりの時代だろ? G450もGeForce2 MXの足元にも及ばないシロモノだよな そんなので3Dやること自体が間違ってる希ガス
Aba games
ttf使えないみたいだけど、どうやって日本語表示するのだろう。
SDL_ttf
頭の悪そうな奴が来たw
184 :
デフォルトの名無しさん :05/02/22 22:39:44
ほほう。
>Sorry, I don't know how to pack .rpm or .deb file.. orz のorzって異国の人もわかるの?
そもそもorzの起源は韓国ですが。
ああそんな記事あったなァ
>>187 ワラタ
最近、ネット関連はタイムラグなしに交流するなぁ
orzの場合は日本語圏から流出するまでかなり間があったと思うけどな。 (その前身のOTLとか全角記号バージョンも含めて) しばらくgoogleとかで観察してたけど、 日本語ページしかひっかからない時期が長かった。
192 :
デフォルトの名無しさん :05/03/10 04:47:53
OpenGLあればSDLっていらなくね?
だから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 でまともに動いていますよと。
ゲ製作技術板のDCスレで動作報告あり
あっそ
死ね
208 :
デフォルトの名無しさん :2005/04/28(木) 08:53:56
SDL_gfxを使っています rotozoomSurfaceで画像を回転させるところまでできたのですが中心がズレます どうやら回転後の図形を左上に詰めているようなのですがこれではゲームになりません 中心を固定する方法はないでしょうか?
surface->w, surface->hを見てblitする位置をその度に変えたらいいやん。
210 :
208 :2005/04/28(木) 20:35:09
>>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 :
デフォルトの名無しさん :2005/07/07(木) 21:42:37
他のライブラリから乗り換えようと思うのですがソースが公開されたゲームはないでしょうか 縦シューを探していますが小規模なアクションならなんでもいいです
>>221 期待していたものより立派なゲームだったので気負っていますがソースは見やすかったです。
OpenGLも使ってるようで読み甲斐があります。
ありがとうございます。
1.2.9で何か変わった?
224 :
デフォルトの名無しさん :2005/09/01(木) 09:56:37
>>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はバグは少ないよ つーか、英語ちゃんと嫁
thanks Hayashi だけ読んだ。
SDL+OpenGLってDirectX+OpenGLだと最近知ったよ よく動いてるよな
thanks Antonio!だけ呼んだ
質問です。 SDLでジョイスティックを振動させることはできるのでしょうか? 関数リファレンスには見つからなかったので・・。
winならDirectInputのForce Feedback API、とかで出来そう。
ごめんなさい、linuxです。 linuxですが、Winでも動くようにも作りたいので、共通のライブラリだとありがたいです。
linuxはそういう気の利いたものはないよ
234 :
デフォルトの名無しさん :2005/09/07(水) 14:06:56
Win用の64bitバイナリバージョンは出ないのかな? SDLを64bitで無理やりコンパイルしようとすると、インラインアセンブラが廃止されてるんで、エラーでちまう・・・。
s-jisをUNICODEに変換する関数はありますか?
つ
237 :
デフォルトの名無しさん :2005/09/09(金) 03:26:30
VC++.netを使用していますが、質問があります。 SDL_Init などのSDLの関数が、入力候補のウィンドウの中に表示されませんし、 パラメータヒントも出てきません。 こういうものなんでしょうか? これが初めてのライブラリなので、設定の間違いでもあるのかと気になっています。 よろしくお願いします。
VC++のインテリセンスはそんなもの。 正常にリンク・実行されるならそれでよし。
239 :
237 :2005/09/10(土) 01:15:56
>>238 なんか出てくる関数もあったりしてよくわかりませんが、このまま勉強していきます。
ありがとうございました。
240 :
デフォルトの名無しさん :2005/10/15(土) 04:55:13
日本語リファレンスないですか?
Wikiみれ
未踏でSDL-pangoとか作ってるみたいだけど、SDL_ttfとどっちがマシかなぁ? SDL_ttfっていいうわさ聞かないんだよね・・・
243 :
デフォルトの名無しさん :2005/11/21(月) 15:37:11
1.2.9がVCExpress製品版で動くことを確認しますた
244 :
デフォルトの名無しさん :2006/01/08(日) 08:46:38
ながれぶったぎってすみません。 SDLってCでもつかうことはできますか? それとつかう場合、なんというファイルをインクルードすれば良いのでしょうか? お教えいただけますと幸甚です。
246 :
デフォルトの名無しさん :2006/01/08(日) 19:28:39
SDLの本て何かオススメのありますか?
247 :
デフォルトの名無しさん :2006/01/08(日) 19:48:45
>>247 >仕様記述言語SDL コンピュータ通信シリーズ 5
どうみても違います
本当にありがとうございました。
これってまだメンテ続いてるのでしょうか?
>>252 かなり活発なので驚きました
ありがとうございます
254 :
デフォルトの名無しさん :2006/01/21(土) 03:50:31
ライセンスはLGPLだということですが、このライブラリを利用して作ったゲームはソース公開の義務はあるのでしょうか?
無い。改変した SDL でリンク出来るようにしておかないとダメ。
257 :
デフォルトの名無しさん :2006/02/19(日) 12:45:23
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 信者が寄って来るよ。
「信用出来ないなら使わなきゃいーじゃん」って。
もちろん使ってなどいない
では、何でここに居る?
265 :
デフォルトの名無しさん :2006/02/23(木) 14:40:21
>>255 >改変した SDL でリンク出来るようにしておかないとダメ。
これはSDLがどのような形になるか不明であるため
ソースコードを提供しなければ履行できないのではないか
たとえば関数の引数が変わればリンクはできないなど
SDL側の改変の幅がわからなければ対応しようもない
互換性失うような改変にまで対応する責任はないよ。 互換性保ったまま改変した SDL に対して、正常にリンク・動作できればいい。 # …っていうか、疑問があったら読もうよ、ライセンス。 # これもちゃんと書いてあったし。
ゲ板のSDLスレ、dat落ちしてない?
2月17日最終書き込みでDAT落ちしてるっぽい 980超えたからだな 1000いってないから2chミラーサイトに拾われないので ログは持ってたほうがいいよ
やっぱ落ちてたのか。 誰かあっちにパート2立ててくれないかな・・・。 俺の環境じゃなんか新スレ立てに失敗してしまう・・・。
寂れてる
それなりに情報があるから会話が必要ないのかな これだけ整備されてるとアイデア勝負だから時々絶望する
ゲームはアイデアよりバランスと構成勝負 Aba氏とか見て絶望する必要はない。彼は所詮アマチュア。
アイデア+バランス勝負だろ。 プロとアマの差は組織力だけだと思うな。
SDL_ToggleFullScreenって何で役に立たないんだろう
あれはUnix系列でしか使えないんじゃないっけ?
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);
}
281 :
デフォルトの名無しさん :2006/11/27(月) 20:16:43
保守あげ
三ヶ月書き込みが無くても落ちないんだ・・・
過去スレも結構残ってるからねぇ
284 :
デフォルトの名無しさん :2006/12/03(日) 03:02:36
日本で、これを使ってゲームを販売している会社はあるの?
どっかの企業が作ったライブラリが原型じゃないっけ? ってことはその原型のライブラリは その企業では一応使われてたんでないかと
288 :
デフォルトの名無しさん :2006/12/03(日) 04:48:40
XNAでおk
289 :
デフォルトの名無しさん :2007/01/19(金) 08:28:09
サーバーやたら重くね?
XNA厨があばれててうざい
ものすごく恥ずかしい質問かもしれないけど・・・ ウィンドウタイトルに日本語は使えないの?
使える
便乗して恥ずかしい質問してみるけど、Alt+F4ってどう実装してる? メインループのPollEventで、下のようにやってもAltを認識してくれないぽ 環境はwin2k、DevC++(gcc+mingw)、SDL1.2.11 bool PollEvent(){ SDL_Event ev; while(SDL_PollEvent(&ev)){ switch(ev.type){ case SDL_QUIT: return false; break; case SDL_KEYDOWN: if((ev.key.keysym.sym == SDLK_F4) && (ev.key.keysym.mod == KMOD_ALT)) return false; break; } } return true; }
ev.key.keysym.mod & KMOD_ALT
泣いた サンクスコ それだとうまくいきました ビットごとに違うフラグあるんだから全体を==で比較しちゃ駄目ですね
SDL_ttfのこの辺って戻り値が参照渡しだけど、もしかしてこの関数内でサーフェス用に確保されたメモリってほったらかしだと解放されないで、新しく確保した領域にポインタが更新されるだけ? ループの中でテキスト生成させてたら、秒速1MBでメモリ増えてくんだけど(;'A`) >SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Color fg)
>>297 SDL_ttfの戻り値は自分で開放するもんだ.
ってかループ中に使うものじゃない.
299 :
デフォルトの名無しさん :2007/06/17(日) 15:03:37
あげ
300 :
デフォルトの名無しさん :2007/06/20(水) 14:35:46
さてこれからC++とSDLで勉強しようと思う俺様が通りますよ
301 :
デフォルトの名無しさん :2007/06/20(水) 21:19:00
>300 とりあえず初心者の〜に行ってこい
SDL1.2.12になってからVisualC++ 2005 EE SP1でコンパイルしても実行出来なくなったんですが 原因が分かる方居ますか?
303 :
デフォルトの名無しさん :2007/08/19(日) 20:16:49
1.2.12いれたら -ansiオプションで警告出たのでなんだろと思ったら SDL/begin_code.hの93,94行目のコメントがC++形式だった
>>303 ほんとだw
svn見てみたらそっちは直ってたよ
>>306 さよなら。いってらっしゃい。
↓続きをドゾ
SDL使ってゲームを作り始めました。ここで質問なんですが、 SDL_GetKeyState()はゲームのメインループ1回に1度呼び出すのと、 SDL_PollEvent()でSDL_KeyboardEventを拾った時に呼ぶのとどっちがいいんでしょう? 前者では常にそのタイミングでスキャンでき、 後者ではOSがイベントを中継する分だけ(処理落ちが激しいときなどでは)反応が遅れる可能性があるが キーボードに触れられなければSDL_GetKeyState()が呼ばれないためその分軽い(1msも掛からないと思うけど・・・ ということじゃないかと考えているのですけど、一般的にはどちらが使われる、とかありますか? あと、SDL_PollEvent()でイベントが何もきていないときにゲームメインループを進めているのですが、 ウィンドウのタイトルバーを右クリックしてポップアップメニューが表示されている間や、 タイトルバーをドラッグしてウィンドウが動いている間などはゲームメインループが進みません。 こういった状態でもゲームメインループをまわすにはどうしたらいいですか? (Windowsでの話です。)
>>308 普通は毎フレーム呼ぶんじゃないかな?
ソース読めばわかるけど SDL_GetKeyState() は実はポインタを返すだけの処理だから
どっちでも大差ないだろうけど.最適化を考えるなら1フレームあたり1回しか
呼ばれない低負荷の関数コールを削ることを考えるよりもどこがボトルネックに
なっているか調べてほかに重い場所を探したらいいと思うよ?
# 実は最初に一回呼んでポインタを保存しておいてループ内ではそれを参照するとかでも
# 動く気がするけどその動作が保証されてるわけじゃないから…まぁ適当にやってくれ
310 :
308 :2007/09/28(金) 22:57:22
>>309 ありがとうございました。ポインタを返すだけだったのか!
ついにマルチウィンドウが来ますな。 過去互換性も整理する方向みたいね。 いつ頃投入予定なのかな?SDL1.3
マルチウィンドウ出来たら Gtk+ の代わりに使えるかな
それはパーツの種類が少ないからムリだと思う。 SDLの上にウィジェット・ツールキットを構築するのはありだと思うけど。
RubyでSDLを弄り始めたんですが、これはスタンドアロン専用ですか? CGIでは使えない?
>>316 CGIと言うか、RubyとかWEBアプリ用と聞いたので、
当然ライブラリとかもWEB上で使えると思ったんだけど・・・
RubyがWEBアプリ用とかいう認識が根本的に間違ってることを理解してくれ # まぁ向いてる分野ではあるけど
> RubyとかWEBアプリ用と聞いたので、 違うよ。全然違うよ。 > 当然ライブラリとかもWEB上で使えると思ったんだけど・・・ なんで?WEB上ってどこで? 普通、クライアントサイドで動かす、SDLを サーバーで動かす利点は何だろう?
SDLと関係ない話になりそうな流れだな……。 別にもうこれ以上掘り下げなくてよくね?
Ruby/SDLで書いたゲームスクリプトを投稿すると サーバの向こう側に常時待機しているおっさんがそれを遊んで スコアを返すWebアプリを思いついた アイデアの権利は放棄するからお前ら自由に実装していいぞ
なんでおっさん限定なんだよww
何その、サーチエンジンはやぶさ
複数のテキストをOpenGLの画面に渡すためにSDL_ttfを使っているのですが、 TTF_RenderUTF8_Solidして作ったいくつかのSDL_Surfaceを、 SDL_BlitSurfaceで、既にOpenGLのフォーマットにしてある大きなサーフィスにコピーして集めて画面をつくり、 その大きなサーフィスをglTexSubImage2DでOpenGLテクスチャとして更新して表示 という方法で、やりたいことはできたのですが、 テキスト1行1行を別々のテクスチャとして扱いたかったのに加えて、 ここの処理だけSDL側でコピーするのも気持ち悪いな、と思い、 TTF_RenderUTF8_Solidして作ったSDL_Surfaceを SDL_ConvertSurfaceを用いてOpenGLのフォーマットに変換して、 glTexSubImage2DでOpenGLのテクスチャを部分更新して転送する という方法に変えたところ、テキストのテクスチャの背景部分が透過されなくなってしまいました。 OpenGLテクスチャ上では、文字部分はα値1でカラー値さまざま かつ 文字の無い部分はα値0で完全に透明 にしたいのですが、どうしたらいいのですか? もともとの方法では、SDL_BlitSurfaceの時に、TTF_RenderUTF8_Solidの作ったサーフィスの文字の無い部分は 自動的に透過されたのですが、SDL_ConvertSurfaceをする場合は、同じように透過されないのでしょうか?
>>325 ConvertSurfaceでできたSDL_Surfaceの pixel 値を
覗いてみて希望の状態になってるか見てみれ
>>326 ありがとうございました、解決しました。
覗いてみたところ、透過したいところのαが0、表示したいところのαが255、と、
OpenGL側の透過値と全く反対で扱われていました。
gl側の混合処理で、GL_SRC_ALPHAからGL_ONE_MINUS_SRC_ALPHAにしたらうまくいきました。
解決のヒントを与えてくれてありがとうございました。
328 :
デフォルトの名無しさん :2007/11/24(土) 15:09:08
補助ライブラリを日本語で紹介してるサイトないですか?
ひょっとしてこのライブラリもう誰も使ってない?
結構使われていると思うけど
>>329 解説が必要なほど複雑なAPIないからなぁ…
325とは逆に作ったサーフェスに全く表示されないのを一晩悩んだ漏れが来ましたよ FillRectで特定の値書き込んだ所や貼り付けた特定の画像上だけしか重ね貼りした画像表示しなくて、 真っ黒な0でのFillRectと並べてやっと気付いたorz もう弄りすぎてソースが焼きそば並にぐちゃぐちゃだぜ
SDLで半透明ウインドウできますか?
334 :
デフォルトの名無しさん :2007/12/28(金) 00:39:37
cairoとの相性いいみたいですね フォントとか画像ファイル関係はcairoで代用できそう
335 :
デフォルトの名無しさん :2008/01/05(土) 01:27:38
板違いだったらすいません。 ちょっと質問なんですが、Ruby/SDLを使用しようと思って、必要なものをインスコして、 プログラムを書き、コンパイルしたら、 ALSA lib confmisc.c:数字 ALSA lib conf.c:数字 ALSA lib pcm.c:数字 こういうものが多数出てきて、実行できませんでした。 環境は、Linuxのubuntu7.10を使っています。 SDLやRuby/SDLは元々入っていたものをパッケージャから入れました。 どうしたら実行できるでしょうか?
こういうものが多数・・・と手書きするんじゃなくて 可能な限りをコピー&ペーストしなさい 数字の後にもエラーメッセージ続いてたろ?
337 :
デフォルトの名無しさん :2008/01/07(月) 01:23:00
>>335 です。
実行できなかったのは、ソースファイルの打ち間違いでした。すいません。
しかし、
>>335 に書いたエラーが出てから実行されます。
>>336 すいません。VMwarePlayerでLinuxを使っていて、
それではネットにつなげるように設定していなかったので
コピペできませんでした。
ALSA lib confmisc.c:769:(parse_card) cannot find card ''
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:3510:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3982:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM default
これが出てたエラーです。
マルチプラットフォームなこのライブラリですが 多少の手直し程度の移植可能(なように作れる)プラットフォームは どれとどれでしょうか?
>>337 サウンドデバイスが見つからないと言っている
>>338 Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.
SDL_ttfについて質問です TTF_RenderText_Solid等をして返ったサーフェースは自分でSDL_FreeSurfaceで開放しなくてはいけませんか?
>>340 開放しなくてはいけませんか?(Y/yes)
>>340 開放しなくても、プログラムが止まることは無いでしょう(多分)
なので開放しなくても大丈夫です
毎フレームフォントをラスタライズするようなアホプログラムなら直ぐに止まりそうだけどね…
>>340 毎フレームフォントをラスタライズかつ開放しないアホプログラムを実行してタスクマネージャのメモリの項を見ましょう
つかやっぱり毎回作っては開放してって重いのかな('A`)
サーフェスに文字を詰め込んでいって 毎フレーム自分でレイアウトして描画するようにしたほうがいい気がする ちょっと面倒だけど作ってしまえば更新頻度とか気にせず使える
>>344 毎フレームってことなら当然糞重いでしょ。
サイズにもよるが、メモリの確保&解放だけで結構なボトルネックになるとみた。
既存サーフェスに描画してくれる機能ってあったっけ?
347 :
デフォルトの名無しさん :2008/03/15(土) 21:48:06
sage
348 :
デフォルトの名無しさん :2008/04/11(金) 00:41:48
あげ
349 :
デフォルトの名無しさん :2008/06/14(土) 07:06:13
320x224の解像度でフルスクリーンにすると画面が90度回転してしまうんですが、 解像度は変えないか320x240でこれを発生させない解決方法ってないでしょうか?
すっかり忘れました。ごめんなさい。 ハードはThinkPad X60s Win XP + Mingw GCC + SDLソースインスコ です。
PCEngineのエミュレータでも作ってるのかね
353 :
デフォルトの名無しさん :2008/06/22(日) 08:59:52
354 :
デフォルトの名無しさん :2008/06/26(木) 22:43:48
解像度を640*480にする
355 :
デフォルトの名無しさん :2008/09/06(土) 21:21:37
保守
356 :
デフォルトの名無しさん :2008/10/21(火) 21:28:12
保守
何か話題はあるのか?
ない
SDLとか糞やん
360 :
デフォルトの名無しさん :2008/11/27(木) 02:21:48
人居ないな
361 :
デフォルトの名無しさん :2008/11/28(金) 12:27:33
*nixでもWinでも動作するクロスプラットフォームなSTGを作り始めて数ヵ月。 お約束の、エンジンだけできて、ゲームができない状態に陥りますた!
エンジンができたのなら次はゲーム作ればいいじゃない ライブラリばかりに気を取られるお約束が悪いのではなくて 途中で投げ出す方の「お約束」が悪いんでしょう
手さえ止めなきゃ、時期や品質はどうあれ いずれは何かが出来上がるものな。
364 :
361 :2008/11/28(金) 23:07:17
yaruoshoot.xml でオブジェクトやステージや画面やらを全部を定義してるんだね
>>365 そうだよ。
そのまま別のSTGのエンジンとしても使えるすぐれものだ。
かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・
>>367 一応、ライフは10。敵との接触や敵弾のダメージは1に設定してあるつもり。
ソースはまだ公開する準備できてない。
ちなみに
[F]でフルスクリーン切替え、
[V]で3-way弾を追加発射、
[M]で内部モニター起動 (文字は白いので見えない) (たまに起動しない)
最後まで行っても特に何もないのは仕様。
っていうか、やる夫の当たり判定が大きすぎて最後まで行けない。
モナーがいっぱいでてくるところまでいけたけど難しいね!
370 :
デフォルトの名無しさん :2008/11/29(土) 05:15:41
ソースクレ警報発令! 367 名前:デフォルトの名無しさん 投稿日:2008/11/29(土) 01:07:27 かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・ ソースクレ警報発令! 367 名前:デフォルトの名無しさん 投稿日:2008/11/29(土) 01:07:27 かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・ ソースクレ警報発令! 367 名前:デフォルトの名無しさん 投稿日:2008/11/29(土) 01:07:27 かっこいいなぁ。5回当たると死亡?ソース見て勉強したい・・・ ソースクレ警報発令!
シンプルだけどちゃんとゲームになってるから 俺もソース見て勉強したいお
スピード速すぎて操作できん… 速度切り替えつけんと無理
>>372 FPS33を保つために、
フルスクリーン切替えや過負荷によってコマ落ちが発生した場合、
一時的にFPS33を越えて遅れた分を取り戻そうとします……とか
ああ、えっと何が言いたいかというと、 スピードが速すぎると感じた場合は、 しばらく放置すると改善する場合があります。ってこと。
diablo2とかそんな感じだね 今の主流とは外れてるけど
376 :
デフォルトの名無しさん :2008/12/16(火) 23:59:49
SDLはVisualStudio2008には対応してないんでしょうか? ダウンロードには2005しかないんで。 使うなら、2005をインストしないとだめ?
>>376 だめな理由もないと思うが…
気になるならソースからコンパイルして使えlば?
378 :
デフォルトの名無しさん :2008/12/17(水) 20:53:25
379 :
デフォルトの名無しさん :2009/02/01(日) 17:39:14
あげておくか
380 :
デフォルトの名無しさん :2009/02/08(日) 19:38:23
SDL_SetDisplayMode関数を複数実行して フルスクリーンとかOpenGL切り替えをしようと考えてるんですが SDL_SetDisplayMode関数を実行する毎に 前のSDL_SetDisplayModeで確保したSDL_Screanって Freeしなくても大丈夫ですか?
freeしとかんといかんとおもう
>>380 SDL_SetDisplayModeっての戻り値ってintだろ…
SDL_SetVideoMode() の戻り値なら SDL_Quit() で開放されることに
なってるので開放すべきではないということになってたはず
いくつかの画像フォーマットと描画速度(読み込み速度ではない)の関係を調べていたのですが、 gifが最速という結果が出ました。 ただ、予想に反してgifがbmpよりも速かったことに戸惑いを感じています。 みなさんの環境でもgifの表示はbmpよりも高速でしょうか? ===ここから詳細=== SDL/SDL_imageによる画像の描画速度に関してですが、 私の環境では、速い順に gif > bmp(32bit ARGB) > jpg >> png の順になり、gifが最速でした。 gifはjpgより2倍速く、pngはjpgより2倍遅いという結果になりました。 ただし、gifの場合、α値がうまく反映されず、半透明部分が半透明になりませんでした。 (しかし、完全に透明な部分は問題なく表示されませんでした。) bmpは24bit/16bitRGBに変更しても描画速度に大した変化が見られませんでした。 環境はOpenSUSE11.1/SDL1.2/SDL_image1.2、グラフィックカードはオンボードです。 画像はGIMPを用いて作成しました。
ヒント:gifは8bit
>>383 元の画像のフォーマットが何かということを考えるよりも
- ロードして出来上がったSDL_Surface のフォーマット(depthとかビットマスクとか)がどんなものか
- 転送先のSDL_Surface のフォーマットがどんなものか
が問題なのでは?
SDLやSDL_Imageでロードしてできる SDL_Surface は大抵の場合
画像ファイルのフォーマットに近いもにになるんでつまり
>>384 ってことじゃない?
#スクリーンに描画してるなら SDL_DisplayFormat() するといいかも
>>384-385 確かに、SDL_DisplayFormatで変換したところ、描画が高速になりました。
内部フォーマットが描画速度に大きな影響を与えるんですね。
なんだかすっきりしました。ありがとうございます。
普段 Perl を使ってるので SDL_perlモジュールで SDL を使って ゲームを作ってみようかと思うのですが perldoc では情報が少なくてイマイチ使い方がわかりません 何か参考になる良さげなものは無いのでしょうか?
>>388 ありがとうございます。
C での使い方をきちんと理解してから SDL_perl を使おうと思います。
SDL_mixerの音楽再生について、ひとつ質問させてください。 SDL_mixerを使ってogg形式のBGMを演奏しようとしているのですが 曲の演奏時に、定常的なノイズが入ってしまいます。 (特にループ再生の2回目以降で、大きなノイズがかかります) これを回避できる方法はないでしょうか? 再生環境は以下の通りです。 ・Windows XP ・Ruby 1.8.7 + Ruby/SDL 2.1.0を使用 ・SDL_mixer 1.2.9 ・open時のパラメータは44.1kHz、S16SYS、2ch、1KB-chunk また、曲を入れ替えながら試してみたところ、以下のような傾向があるようです。 ・ファイルサイズが大きい(曲が長い&音質が良い)とノイズが入りやすい ・open時の周波数を上げる(たとえば88.2kHzにする)とノイズが減る
391 :
390 :2009/05/17(日) 22:47:42
すみません、SDLのバージョンを書き忘れていました。SDL 1.2.13です。
そのノイズって、プチッ・・プチッ・・と音が乗るノイズのことか?
393 :
390 :2009/05/18(月) 09:33:19
表現しづらいですが、プチッ・・・というよりは ザザザザ・・・という風な感じです 音が鳴るのに合わせてザザザザ・・・というノイズが重なっているような
394 :
390 :2009/05/18(月) 20:06:55
ノイズの再現用に、oggを再生するだけの小さなプログラムを作ろうとしたのですが そちらのプログラムでは何度やってもノイズが乗りませんでした。謎だ。 (同じ音楽ファイル・パラメータを使いました) ひとまず、もう少し自力で原因を探ってみようと思います。 もし「これが原因じゃない?」と思い当たる節のある方がおられましたら 助言をいただけると幸いです。
多分バッファアンダーランだと思うんだが ザザザ・・・だったらより深刻だな
396 :
390 :2009/05/31(日) 22:33:44
いま原因を検証しているのですが どうも音楽の音量変更に何かがあるらしい、というところまで分かってきました 音量変更がなければ綺麗に再生されます
397 :
390 :2009/05/31(日) 22:49:39
音量が128(最大)であればノイズは入らず それ以外の値であれば常に入るようです(64, 127などで確認)
398 :
デフォルトの名無しさん :2009/07/05(日) 20:49:31
あげ
400 :
デフォルトの名無しさん :2009/09/27(日) 16:57:32
SDL_ttfでDroidフォント(Androidのフォント)が 表示できないのはなぜでしょう? これは仕方の無いことなのでしょうか? Apacheライセンスで、全世界のフォントが含まれているらしいので 便利なんですが・・・
どのフォント使っているの とりあえず日本語使いたかったら MD5 4caeadd734f4be9973163bdf02ea6cf5 DroidSansFallback.ttf これ使っとけば
402 :
デフォルトの名無しさん :2009/09/29(火) 00:32:57
今の日本語入力方法ってどうなっているのでしょう・・・?
SDL_ttf.libリンク SDL_ttf.hインクルード なんで_TTF_FONTが認識できない型エラーになるんですか>< 教えてください
TTF_Font -> TTF_Font*に修正したら解決しました
406 :
デフォルトの名無しさん :2010/01/03(日) 16:37:08
SDLの2D機能とOpenGLを同時に使用する事は可能ですか? 例えば、SDLの描画機能でサーフェスの一部にbmpで描画し、 OpenGLでポリゴンも同時に描画し、ダブルバッファを切り替えると bmpとポリゴンが両方表示される。の様な感じです。 OpenGLの2D機能を使えと言うのは無しで。 あれはゲロ吐く程遅いので。
ゲロ吐くほど遅いものを うんこ出るほど遅いものと一緒に使用しようとするのは何故なんだろうな?
速度を重視するなら,3Dの特殊な場合と考えて,OpenGLで板ポリとして作るべきだな
ゲ製のほう落ちたね
あれ、そんなことはない……どころか新たな書き込みがあった。ごめん。
今回のF5祭りで一部の専ブラが全スレdat落ちと誤認したようだぞ 新たな書き込みがあれば復活するらしい
このライブラリは安定しているのか
413 :
デフォルトの名無しさん :2010/08/21(土) 19:38:11
SDL1.3っていつ出るの?
414 :
デフォルトの名無しさん :2010/09/26(日) 00:20:11
SDLの描画って重いってよく聞くけど重い? Windows版だとDirectXを内部で使ったりしてるって聞いたけど 各プラットフォーム毎で高速に描画できるようにチューンされてる感じ? SDLはイベントとサウンドに使って描画はOpenGL使うケースを多く見たんだけど
>>415 昔は結構遅かったが、最近はDirectXやMMX/SSEを使ったりもしてるので
結構速くなってるんじゃないかな。
ペナルティが無いわけではないけどね。
OSX版が異様に遅かったが解消されたのかな。
他人に聞かないで、SDLだけと描画だけOpenGLで同じもの作って比較してみな。 聞いちゃうような人ならやっても無駄にはならないから。
両方の資料を読んで勉強する手間は俺なら避ける。 すぐに何でも他人に尋ねて解決しようとするなというのは同感だけど、 聞いたほうが良い場合もあるよ。
俺もそう思う そういった検証作業は そういった行為が金になるライターさん そういう人柱行為が好きな人などに任せて 暇のない人は人に聞いたほうがいい どちらも初心者にでも扱える易いものだけど 全て関数をいちいち比較検証してたらキリがないからな
この程度の検証作業が苦ならプログラマ向いてないだろ… あと自分のやりたい事、作りたい物に対して検証するんで ライターの比較記事なんて意味ないし、全ての関数を比較する必要もない。 # そもそも SDL の描画関数って2つしかないしな…
情報は共有できるように蓄積されてこそ意味がある。だから、まずは聞いてみる。 いなけりゃ言い出しっぺとして検証して報告してみる。それでいいんだと思うよ? 日本のプログラマはコミュニケーション能力が死んでて、独りで完結しようとする奴が多すぎて困る。
日本のプログラマだけじゃないらしいよ
スキルアップになるから、やってみればって言ってるんだよ。 嫌がらせで言ってるわけじゃない。 ゆとり世代はそういうのが分からないって記事をたまに見るけど、本当なのかもしれないね。 それじゃあ、OpenGLの方がいいとだけ言っておく。 理由が知りたければ、ネットで調べるなりすればいい。
そうなんだよなぁ、俺もゆとり世代だけども。
周り見てて思うけど、まずググらない。
いやそれは一番上に出てくるだろってことを聞いてくる。
調べる→無かったら試す→最終手段として質問する
のが普通だろうに。
>>422 の言う「情報の共有」には同意するけど、
それなら「調べる」の段階で解決するから最初に「聞く」を持ってくる必要はないと思うよ。
>>425 > 調べる→無かったら試す→最終手段として質問する
>
> のが普通だろうに。
べき論なんて老害じゃん
ゆとり世代なのに頭固いよ
問答無用に
> 調べる→無かったら試す→最終手段として質問する
ではなく、状況に応じて
質問する→回答を待つ(or回答を待ちつつ検索する)→最終手段として自分で検証する
などと、使い分けた方が楽だぞ
リアルでそんな奴には知ってても知らないって言うわ。
マ板へどうぞ。
>>424 両方やってみたとして、
その結果描画が速いほうしか使わないのなら
遅かったほうの勉強/スキルアップは無駄になるじゃん。
ならない
両方やる前は訊く側だったのが、 両方やったあとは自分の経験を基にした答える側になれる。
>>421 > # そもそも SDL の描画関数って2つしかないしな…
用途の違いもあれば
バージョンやGPU、OS(ドライバ)、コンパイラなどによる
実行環境の違いもある
それらを考慮しないと意味がないから
真面目に検証するとなると面倒臭いよ
リリース直後とかならまだいいけど
需要があるとは思えない時期に
時間だけ掛かる単純作業をやって
得られるものは忍耐力ぐらいなもんだ
日本にはなぜか「人に聞くのは恥ずかしい行いである」という間違った風潮が蔓延している。 海外のプログラマは掲示板などのコミュニティで積極的に議論するだけでなくちょっとした質問も 気軽にして後続が必要な情報が蓄積されていくというのに、日本のプログラマは黙って自分で 調べて、どうしようもなくなってから「メールで」質問して、解決するとそのまま黙って去っていく。 そして最初から知っていたかのようなフリをして、後続には「人に聞くな!自分で調べろ!」と わめき散らす。それなりの人数がいるはずなのに、健全なコミュニティが育たない。
嫌な思いをしたんだね
匿名掲示板で何を言っているんだろうね?
なんでも聞いて良いんだよ では次のかたどうぞ ↓
ゆとりゆとりって一言で言うけどゆとりにもいろいろあるんだよ… * ちょっと考えれば解る問題を考えて答を出し、その上で他の人と話をして理解を深める -> 普通の人 * ちょっと考えれば解る問題を考えて答を出して理解した気になる -> 非コミュ技術オタ * ちょっと考えれば解る問題を考えず、ぐぐって見付かった内容だけで理解した気になる -> 非コミュ系ゆとり * ちょっと考えれば解る問題を考えず、他人に聞いて理解した気になる -> ノーマルゆとり * ちょっと考えれば解る問題を考えず、ぐぐりもせず、他人に聞きもせず、締切間際に「 やっぱりできません!」とか言ってくる -> 上級ゆとり # マ版ネタだな…
>>429 SDL+OpenGLをやるのに、SDLのサーフェイスを勉強するのが無駄?
OpenGLでSDL_ttfを使うこととかもできるのに。
>>438 そういう情報を含めて教えてあげればいいんでないの?
>>439 腕がないのにいきなりなんでもできると思うな。
本当に無駄ならやらせようとしないよ。
理由を述べずに「両方やってみな」とだけ書けば そりゃ質問者には意図が伝わらないでしょ
>>441 なら君がおしえてあげればいいじゃないの。
>>443 それではそもそも。エスパー希望っていう程度の話題だったって事なのね。
楽になるからライブラリ使うってスタンスの人なら、遠回りしたくない罠。 ソース呼んだり試したりするのが好きな人はするし。
446 :
デフォルトの名無しさん :2010/10/27(水) 13:22:36
SDL_Hoshu("age")
1.3まだかなー IME対応に期待。
449 :
デフォルトの名無しさん :2010/11/15(月) 18:35:46
>>424-425 ゆとり世代関係ないw
バス停でご丁寧にでかでかとバスマップが書いてあるにも関わらず
そんなモノは知らんとばかりに運転手に聞きに行くオッサンとかオバサンはよくいるぞ。
450 :
デフォルトの名無しさん :2010/11/15(月) 18:38:11
結局のところ、検索って奴はいろんなサイトを見て回って ゴチャゴチャと大量の広告を見せられた挙句、 ネット上に散りばめられた情報を一個一個拾い集める糞つまらなくて脳の無駄遣いな作業なんだよ。 だから掲示板で質問して一発でほしい情報を得ようとするわけ。 お分かり? ここで質問してる子は賢いわw
>>450 なんで広告ブロックしないの?www
検索をうまく使えない事を自慢すんなw
物事の本質を理解せず脊髄反射でレスするのはやめたほうがいいぞ。 的外れな指摘しかできなくなるから。
ヒント : SDLはオープンソース
>>450 >ここで質問してる子は賢いわw
誰もまともに答えてくれない的外れな質問をするのが賢いのか?
ヒント : スレタイ
456 :
デフォルトの名無しさん :2010/11/16(火) 11:35:56
>>454 お前はほんとに世渡りが下手そうだな。
ダメで元々、いろんなことをやってどれか一つ成功すればそれでよし、
という考え方だってあるんだよ。
ヒント : 過疎スレ、糞ライブラリ
そもそも使ってる人間がいないから情報が蓄積されない。 基本的に自分の成果にしか興味がない。 時間をかけて作業することが勉強や努力だと勘違いしている。 コミュニティを形成しようという意識が欠けてるから後続の手助けをしようとは思わない。 まあ、まともにやろうと思ったら、英語身につけるしかないね。 英語圏のコミュニティは、初心者を見下したり、必要な情報を出し渋ったり、質問 そのものを悪とみなす風潮は無いからね。
日本だと勘違いした自称上級者がわく。 まるで「自分はここのヌシだ」みたいな顔で興味ない書き込みにまでレス。 自分が、調べる作業をやらされてる、と勘違いして怒り出す。 暇がなかったり、質問されてる内容に対して十分な知識をもってないなら、黙ってりゃいいだけなのに、 「なぜか自分が答えなければならない」と思い込んでる。そういう自称上級者。
460 :
デフォルトの名無しさん :2010/11/16(火) 16:11:45
情報を出し渋ったところで得なんて無いしねw 情報を出せば尊敬が得られるから気分が良いけど、無くす物なんて何も無いもんね。
自分からおいこら呼ばわりしておきながら、質問者のマナーがわるいと文句と罵倒だけ書き込んでいく自称上級者。
このスレは一体いつから初心者質問スレになったんだ
463 :
デフォルトの名無しさん :2010/11/16(火) 17:29:12
どうせ過疎スレなんだし質問ぐらいいいだろ。 答えられないバカの僻みか?
ぶははは、だからオープンソースだって逝ってるだろwww
オープンソースだから、何だって? 日本語が不自由な方がいらっしゃるようだが。 いや、不自由なのは頭か。
> 結局のところ、検索って奴はいろんなサイトを見て回って > ゴチャゴチャと大量の広告を見せられた挙句、 > ネット上に散りばめられた情報を一個一個拾い集める糞つまらなくて脳の無駄遣いな作業なんだよ。 > だから掲示板で質問して一発でほしい情報を得ようとするわけ。 > お分かり? > ここで質問してる子は賢いわw ソース見れば答えが書いてあるじゃん。しかも一箇所に纏まってて便利だよね。 勿論、広告も無いし、過疎スレで指くわえて待つ必要もないし。 ソース読めば一発で欲しい情報は自分の都合で得られるよね。 オープンソースって便利だね。
468 :
デフォルトの名無しさん :2010/11/17(水) 00:51:32
>>467 お前、そんなことばっかり言ってるからプログラマはなめられるんだよw
いくら煽っても何も出ませんよ。
470 :
デフォルトの名無しさん :2010/11/17(水) 00:58:51
俺は質問者じゃねーもん 別にお前に答えてもらおうなんて思っちゃいねーよw ただ単に、質問に答えられないで僻んでるザコがいるなぁwと笑って見てるだけ
ああ、人間の屑の方でしたか。 おだいじに。
473 :
デフォルトの名無しさん :2010/11/17(水) 02:31:23
俺は教えるなんてめんどくさいことはしないから質問者はスルーだよw
このスレのひとは難しい質問には答えられません
最近、ほんと無駄に煽って答えを得ようとする奴がいるよね。 同一人物かな?不愉快だわ。
高圧的な態度で掲示板に「自分で調べろ」としか書けない自称上級者様のお言葉でした^^
>>476 そういう人がいるから質問者のマナーも悪くなるんだよね。
お互いに謙虚にならないといけないと思う。
【レス抽出】 キーワード:自称上級者 抽出レス数:3
なんかSDL 1.3色々変わってるね。 個人的にはSDL rendering APIの変更が結構影響大きかった。
482 :
デフォルトの名無しさん :2011/02/13(日) 00:36:42
SDL 1.2 だけど、 Mac で SDL Application テンプレートで作った時、 メニューを作ってくれる割に Command+Q(終了)とかが効かないんだけど、 自分で実装しないといけないの? Command+Q はともかく Command+H(隠す)とか Command+M(最小化)とか Cocoaよく知らないからめどいし Macかどうかで処理の分岐が必要になるのが嫌なんだけど仕方ないのかね
>>482 SDL が使われる主要な目的を考えると、Command+H 等が勝手にメニュー処理に
取られちゃったら困るんじゃない?
それらの処理を自分で実装するのはそれほど難しくないと思われ。
mac.m みたいなファイルを作って Mac OS X 専用のルーチンをまとめておけば
ソースコード上もスッキリするんじゃないかな。
>>479 そのソフトウェアスタックを見ると、Zen of Palm はまだ生きてるんだなあ
>>483 確かにフルスクリーンでも効いちゃったら困るとかありそうなので自前で実装した
なるべく#ifdef使いたくなかったけどこれは仕方ないね・・・
Command+Qで終了するのを自前で実装したけど、 終了直前にビープ音らしき音が鳴るのが気になる。 SDLのイベントでキー判定しているのがまずいのだろうか…
音楽鳴らしながらそのまま終了してるとか?
488 :
486 :2011/02/13(日) 18:01:19
>>487 無効なキー入力をしたときに鳴る音と同じ音が鳴るんだよね。
たとえばアプリ実行中にCommand+Aなどの無効なキーを入力するとビープ音(うちだとFunk)が鳴るんだけど、
その音が鳴りながらアプリが終了する(のでビープ音も途中までしか鳴らない)。
具体的には以下のコードみたいに終了イベントやキーを受け取ってメインループを終わらせてる。
もっとちゃんとショートカットキーを実装する方法があるのかな。
SDL_Event event;
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT ||
event.type == SDL_WINDOWEVENT && event.window.event == SDL_WINDOWEVENT_CLOSE ||
event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_q && (event.key.keysym.mod == KMOD_LGUI || event.key.keysym.mod == KMOD_RGUI)) {
done_ = true; // メインループを抜けさせる
}
}
俺はCommand+Qで終わる時は SDL_QuitEvent event = { SDL_QUIT }; SDL_PushEvent((SDL_Event*)&event); って終了イベント投げてるけど そもそも無効なキー入力で音が鳴るという現象がうちは無いんだよな・・・ どんなキーでも押せば全部SDL_KEYDOWNに流れてくるので 有効無効とかがそもそもない気がする
>>489 短いテストコードを書いてSDL 1.3、SDL 1.2のそれぞれhg先端を使ってコンパイルしてみた。
Command(RMATAまたはLMETA)+Q を押すと0.5秒待った後アプリ終了。
0.5秒待つのは音が鳴るのを確認するため。
http://ideone.com/TiLg8 SDL 1.2 … Command+Qなどを押しても音が鳴らない。
SDL 1.3 … Command+Qなどを押すとビープ音が鳴る。
ということで今のところ「SDL 1.3を使う」が原因っぽい。
対応は考え中だけど、深追いするとハマリそう…
>>453 SDLのビルド手順が掲載されているサイトはありませんか?
教えていただければ幸いです。
SDL_image を使ってpng画像を使えるようにしようと思って gccを使ってコンパイルまでできたのですが、 実効しようとしたら以下のようなメッセージが表示されて実行できません。 libpng warning: Application was compiled with png.h from libpng-1.4.2 libpng warning: Application is running with png.c from libpng-1.2.43 libpng error: Incompatible libpng version in application and library どういう意味なのでしょうか? 解決策を教えてください。お願いします
libpng error: Incompatible libpng version in application and library
>>494 アプリケーションとライブラリのlibpngのバージョンに互換性がない
と言うことですか?
SDL_imageをコンパイルした時に使ったlibpngのバージョンと 実行するときに使おうとしてるlibpngのバージョンが違う
498 :
デフォルトの名無しさん :2011/05/06(金) 02:01:30.70
短い音だとやっぱMix_PlayChannelが終了する前に Mix_ChannelFinishedで登録した関数がコールバックされる事とか、 もっと言えば終了とコールバックが同時実行されるとか、 何も対策しなければスレッドアンセーフな状況になるの?
2バイト文字と1バイト文字が混載しているテキストデーターから文字を1文字ずつ切りだして SDL_ttfのTTF_GlyphMetrics()関数の第2引数に送って第7引数のトータルの文字幅を求めるコードが必要になったんだが Unidodeに変換するためにiconvを使うとしたらどういう実装にすればいいかな?
SDL.dllだけ1.3に差し替えたら SDL_imageがセグメンテーションエラー起こしやがった・・・ imageも作りなおさないといけないのか・・・
>>500 逆になぜそのまま動くと思ったのか知りたい。
たぶん、全然別物だって知らなかったんでしょ。 1.2.14→1.3って番号だけ見ると互換性ありげだし。2.0とかにしちゃえばいいのにね。
英語ブログでオッサンが 1.3とsdl-imgeでvery fineみたいなこと言ってたから とりあえずぶち込んでみたんだ なんかjpegがビルド失敗するしあきらめるか
SDL1.3期待したがmacの日本語入力ができないなぁ 自分で作るか・・・
SDL1.3もLGPLですか? なんか商用ライセンスとか書いてあるような……
>>505 新しい方のページにzlibライセンスって書いてあるし、パッケージ本体にもそう書いてある。
1.2時代のページには1.3もLGPLとか書いてあって紛らわしいな。
とはいえ、sdl_imageとかsdl_mixerなんかzlibライセンスにならない限り、あんまり意味無いかも。
SDL 1.3は今年の4月頃にzlibライセンスへ移行したけど、 ウェブサイトの更新はちょうどライセンス切り替え直前あたりで止まってる模様(hgのsdlwebのログで確認)。 指摘すれば更新してくれるんじゃないかな。
なるほどありがとう
509 :
デフォルトの名無しさん :2011/11/20(日) 14:24:20.08
いえいえ
SDLで簡単なアニメーション(とキー受付)をしたいのですが、そのプログラムで使う変数の値をどうやって入力しようか思案中です。 最悪の場合設定ファイルをテキスト形式で用意する案も考えていますが、もうすこしユーザーフレンドリーな入力方法としてwxWidgetsを使えないかと考えています。 wxWidgetsからSDLプログラムを走らせると速度が遅くなったりしますか?(というか、そんなことは可能ですか?) 他にもなにかお勧めの方法があったら教えてください。
>>510 あ・・・SDL-widgetsってのがあるのですね・・・。
test
tests
testtest
次期バージョンのSDL_mixerでFluidSynthをサポートするみたいね
516 :
デフォルトの名無しさん :2012/03/16(金) 21:00:50.52
あげ
SDLでEAXみたいな3Dサウンドって出来ないんでしょうか
OpenAL使えば
出来ないんですね。 ありがとう
SDL_mixer: Mix_SetPosition 角度と距離を指定すると音の位置が変化する Mix_RegisterEffect 効果音単体・出力直前のバッファを弄れるフック関数を登録する chanがMIX_CHANNEL_POSTの時、streamにBGM・効果音合成済みの出力直前バッファが渡される もちろん3Dな音響を適用するエフェクトは全て自作していく Mix_SetPostMix 出力直前のバッファを弄れるフック関数を登録する streamにBGM・効果音合成済みの出力直前バッファが渡される こちらもエフェクトは全て自作していく Mix_RegisterEffectと共存OK
これ便利なライブラリーだな。
>>521 マジ便利だよ。それにどんなOSでも使えるから一生もんの技術だよ
てすと
524 :
デフォルトの名無しさん :2012/07/30(月) 02:00:02.32
SDL_mixerとSDL_imageが全然動かない・・・ libogg.dll, libvorbis.dll, libvorbisfile.dllをビルドして置いても MIX_INIT_OGG指定すると初期化に失敗するし、 libpng15.dllをビルドして置いても IMG_INIT_PNG指定すると初期化に失敗するし、 もう訳分からん・・・
画像に関してはBMPにすれば何とかなるかもしれないが 音楽は流石にWAVにするのはきつい・・・ どうにかならないものか
526 :
デフォルトの名無しさん :2012/07/30(月) 02:30:32.42
>>524 何かエラーメッセージは無いの?
エラー発生直後にSDL_GetError()の戻り値は確認してる?
おおう、要求されるDLL名が デフォルトで作成されるものと違っていたようです ありがとうございました
528 :
uy :2012/07/30(月) 09:30:39.42
ちょっと使ったことあるけど、 このライブラリ煩雑すぎじゃね SDLをもう一段階ラップしないと使い物にならない
529 :
デフォルトの名無しさん :2012/07/30(月) 09:45:29.16
全員がそうではないけど、 そうしないと使えない人がいてもおかしくはない。
SDLをさらにラップしたものは沢山あるだろ
むしろラップして使うものだし 俺俺ライブラリ作るの楽しいです(^ρ^)
532 :
デフォルトの名無しさん :2012/08/17(金) 23:55:49.35
c
MacのSnow LeopardでSDLをフルスクリーンにすると 画面真っ黒でOSに戻れなくなる件は治ったんだろうか…
534 :
片山博文MZパンク ◆0lBZNi.Q7evd :2013/04/08(月) 21:35:19.34
あげ
独自の画像読み込みはどうすればいいですか?rawなんとか?
536 :
デフォルトの名無しさん :2013/04/18(木) 01:15:31.10
あるピクセルが透過ピクセルかチェックする処理を作っています。 32bit(ARGB)surfaceの場合、A値が255かチェックすれば良いと思って IMG_Loadで透過なしARGB(32bit)pngを読み込んでみたところ surface->pixelsをみたらAが0x00になってました 透過なしなら0xffが正しいと思うんです 透過かどうかの判断材料は他にあるんでしょうか SDLのバージョンはSDL 1.2.14、SDL_image 1.2.12です
あきらめが肝心
>>535 CreateSurfaceとかCreateSurfaceFromとか
>>536 SurfaceってAlpha使うかどうかのフラグ無かったっけ
>>535 32bit RGBAの空サーフェス作って、それのpixelsにデコードしたのぶっこむ。
当然フォーマットはきちんと(8ビットづつ)RGBAの位置を設定してからサーフェス作ること。
ここまでちゃんとできたら、後はBlitSurfaceしてやりゃ自動でフォーマット変換やってくれるから、マシンやターゲットの色表示ビット数は考慮しないでいい。
>>536 とりあえず、png読んだ側のサーフェスのフォーマット見れ。
特にamaskとashift。
sdl.dllを自前で作りたいんだけどVisual C++ 2010 ExpressでSDLのビルドって出来ない?
SDL 2.0.0のリリース候補版が出た模様。 Windows x86/x64とMac OS X intel向けバイナリも用意されている。
おお、ついに来るんか
SDLのイベント処理の使い方がいまいちわからないんだけど、どういうふうに使うものなのかな? 今までDXライブラリを使ってきたけど、プレイヤーのキー操作は 必要になったときにだけ関数で取得してた。 だから、すべてのオブジェクトを1フレームに1回更新するって時にも オブジェクトにとって必要になったときだけキー入力を取得して更新してた。 SDLのリファレンスのイベントの例だと、 『キー入力イベントが発生してたら、それが「→」キーかどうか判断して右に数ピクセル移動する』 みたいな感じだったけど、これは上記みたいに「すべてのオブジェクトを1フレームに1回更新したい」 時にはすごく相性が悪そう。(1ループ中にいろんな種類のイベントが複数回発生するから)
>>545 SDL_JoystickGetButton とか SDL_GetKeyState (2.0からはSDL_GetKeyboardState) とかそのへんは?
自分の処理の仕方に合わせて好きな方使えばいいんじゃね
547 :
デフォルトの名無しさん :2014/02/23(日) 09:02:38.60
何これ
548 :
デフォルトの名無しさん :2014/02/27(木) 08:47:31.12
DirectXのパクり
マルチプラットフォーム最優先でなかったらいらない
今だったらcocos2d-xだろ
枯れてるSDL使う方が良い
552 :
デフォルトの名無しさん :2014/03/01(土) 07:57:38.26
DirectXも9なら枯れてるだろ。
OpenGL>SDL>DirectX
ていうか3DでSDLなんか使うの?
サウンドだけSDLみたいな使われ方なら
SDLのSurfaceにOpenGLを描画してるんでねーの? 勉強に、使うか使わないか分からないDirectXみたいな複雑なものなんて触りたくない
SDL2のサンプルって大体SDL_Texture使ってるけどSDL_Surfaceのほうが使いやすいな
558 :
デフォルトの名無しさん :2014/03/02(日) 17:53:08.67
だな
子供の頃にゲームを作りたいって思っても、年取るとゲームを作ろうって気力が無くなるな
小さいものでも作ってみて、「ああ、楽しいな」って思えればいいんだけどな。 自己効力感というか。 まあ、気力のでない理由なんて人それぞれだとは思うけど、 こういうスレ覗いてるなら誰しも作りたい気持ちはあるはずだし、 やる気のでないことも誰しもあると思うんで、負けないでほしいよね。 スレチの上に長文だね。すまんね。
努力によって獲られるものが、あまりにも小さく需要がない
562 :
デフォルトの名無しさん :2014/03/05(水) 20:33:33.37
>>559 ゲームって子供しかしないからだと思う
ゲームってプレイするために作られるけど
自分が大人になってから作っても、友達とかもみんな大人になってるからゲームなんてしてくれないじゃん
情熱云々以前にそうした環境が要因だと思われ
俺は連日麻雀だけど、
自分の子供と遊べばいいんだよ・・・・・・(遠い目)
566 :
デフォルトの名無しさん :2014/03/07(金) 20:47:39.13
ネット上に友達なんてできないだろ
567 :
デフォルトの名無しさん :2014/03/09(日) 09:52:04.72
ネットのお友達って誰?
Androidゲームを意識するならSDLで作っておいた方が潰しが利きますか?
いいや
(´・_・`)違うのかぁ
SDLは死滅しちゃうの?
572 :
【9.4m】 :2014/08/13(水) 11:01:16.20 ID:SU5UHha0
細々と生き残るんじゃないの。 今までと変わりなく。
マウスホイールの情報ってmouse.hでは扱えないんですか?
SDL_mouse.hのことなら扱えるよ
SDL_GetMouseState(&x, &y) & SDL_BUTTON(SDL_BUTTON_WHEELUP)みたいな でも普通にマウスイベントじゃだめなの?
それにGetMouseStateだとホイールは拾い損ねるので
現在画面に表示されてるのが透けて見えるように、半透明で塗りつぶしたいんですけど、 SDL_RenderClearやSDL_RenderFillRectでやると半透明になりませんでした。 どうやればいいんでしょうか?
580 :
【13.5m】 :2014/12/30(火) 21:08:56.16 ID:4iRc2U/V
そりゃ半透明にならないのは当たり前じゃないか。 何が不思議なの?
>>580 不思議って言うか、色の設定にアルファチャンネルがあるからできるからできるかなと思ってやってみたんですけど、できなくて、
じゃあ、どういう方法でやればいいのか、という質問です。
582 :
579 :2014/12/31(水) 15:47:21.32 ID:9chxyy/K
自己解決。 SDL_SetRenderDrawBlendModeでSDL_BLENDMODE_BLENDを設定したらできました。
【質問】 今までプログラミングしていたPCの中でSDLを使って作成した実行ファイル(○○○.exe)だけをUSBにコピーして別のパソコンに移して実行しようとしたら 『コンピューターにSDL.dllがないため、プログラムを開始できません。 この問題を解決するには、プログラムを再インストールしてみてください』 とエラー警告が出てしまいました これってSDL.dllってファイルだけを探して実行ファイルと同じフォルダに入れればいいのでしょうか それともSDLそのものを一からインストールし直さないといけないんでしょうか インストールして環境設定したのがかなり前なのでやり方を忘れてますし 出来れば各端末にインストールする手間を掛けず 実行ファイルと少ないファイルをUSBから移すだけで実行できるようにしたいです
SDLというかDLLの基本的な知識だが
dllはexeから動的にリンクするライブラリファイルなんでexeから見えるとこにdllがあればいい
なんでexeと同じフォルダかパスの通ったフォルダとかWindowsフォルダに配置されてれば起動出来る
多分参考にしたサイトがdllの配置までやってたんだろうが
そのエラーメッセージのインストールはアプリケーションのインストールで
開発するためにライブラリをインストールする事とは無関係なんで
>>583 の言うインストールをやっても無意味だと思う
すいません、実際にSDL.dllをコピーして試したのですが今度はまた別の「○○.dllがありません」とエラーが出てしまいました そこで元のパソコンから検索かけて「○○.dll」の拡張子で終わるアプリケーションファイルを隈無く探して複製移動したのですが 最終的に 『MSVCR100.dllはWindows上で実行できないかエラーを含んでいます。元のインストールメディアをしようして再インストールするか、システムの管理者またはソフトウェアの製造元に問い合わせてください』と別のエラーが出て、そこで袋小路に入ってます
DLL 手動コピーじゃだめ VCxx redistribution package を xx の各バージョン全部入れろ
それは、コピー元のパソコンの中に入ってる分をコピペしろということでしょうか? コピー先のパソコンはネットと接続してないのでUSBで移すしか不足分を補えないのですが
あと、VCxxっていうのはVC++2010のことでしょうか それもコピー先に入れてないので移した方がいいですか?
589 :
デフォルトの名無しさん :2015/01/26(月) 09:56:44.28 ID:Ts/Sr/RD
>それは、コピー元のパソコンの中に入ってる分をコピペしろということでしょうか? コピペはだめ redistribution package はインストールが必要 >コピー先のパソコンはネットと接続してないのでUSBで移すしか不足分を補えないのですが 数回に分けるか USB 数個に分ければ済むだろ >あと、VCxxっていうのはVC++2010のことでしょうか 名前から想像するとたぶんそうだろうけど 必要に応じて他のバージョンも入れないといけないかもしれない >それもコピー先に入れてないので移した方がいいですか? 移すっていうのが DLL だけにしたいって意味ならダメ
最近のexeはダウソしただけで動かないとかなぁー それってdot netやjavaと代わらんじゃねーかよ な?
Steamで早期リリースのゲーム Darkest Dungeon が SDL2 製だった。 PS4, Vita での発売も予定しているということで、移植性の高さを生かしているもよう。 ただ、文字の表示はビットマップから切り出す方式なので、 文字種の多い日本語化は難しいと思われる。 SDL本体だけで簡単にフォントのレンダリングができれば、 英語圏の製作者も、日本語化しやすい作り方をしてくれそうなんだがなぁ。
ですね(´・ω・`)
変なライブラリ使わなきゃインストーラ作って終わりじゃないの
最近、某動画サイトてhappy wheelsっていうシュールなゲーム実況(ホラフキンとかアブとか)がツボにはまってるんだけど あれもSDL?