SDL=Simple DirectMedia Layerでゲームだ
■ このスレッドは過去ログ倉庫に格納されています
>>443
それではそもそも。エスパー希望っていう程度の話題だったって事なのね。
楽になるからライブラリ使うってスタンスの人なら、遠回りしたくない罠。
ソース呼んだり試したりするのが好きな人はするし。 >>424-425
ゆとり世代関係ないw
バス停でご丁寧にでかでかとバスマップが書いてあるにも関わらず
そんなモノは知らんとばかりに運転手に聞きに行くオッサンとかオバサンはよくいるぞ。 結局のところ、検索って奴はいろんなサイトを見て回って
ゴチャゴチャと大量の広告を見せられた挙句、
ネット上に散りばめられた情報を一個一個拾い集める糞つまらなくて脳の無駄遣いな作業なんだよ。
だから掲示板で質問して一発でほしい情報を得ようとするわけ。
お分かり?
ここで質問してる子は賢いわw >>450
なんで広告ブロックしないの?www
検索をうまく使えない事を自慢すんなw 物事の本質を理解せず脊髄反射でレスするのはやめたほうがいいぞ。
的外れな指摘しかできなくなるから。 >>450
>ここで質問してる子は賢いわw
誰もまともに答えてくれない的外れな質問をするのが賢いのか? >>454
お前はほんとに世渡りが下手そうだな。
ダメで元々、いろんなことをやってどれか一つ成功すればそれでよし、
という考え方だってあるんだよ。 そもそも使ってる人間がいないから情報が蓄積されない。
基本的に自分の成果にしか興味がない。
時間をかけて作業することが勉強や努力だと勘違いしている。
コミュニティを形成しようという意識が欠けてるから後続の手助けをしようとは思わない。
まあ、まともにやろうと思ったら、英語身につけるしかないね。
英語圏のコミュニティは、初心者を見下したり、必要な情報を出し渋ったり、質問
そのものを悪とみなす風潮は無いからね。 日本だと勘違いした自称上級者がわく。
まるで「自分はここのヌシだ」みたいな顔で興味ない書き込みにまでレス。
自分が、調べる作業をやらされてる、と勘違いして怒り出す。
暇がなかったり、質問されてる内容に対して十分な知識をもってないなら、黙ってりゃいいだけなのに、
「なぜか自分が答えなければならない」と思い込んでる。そういう自称上級者。 情報を出し渋ったところで得なんて無いしねw
情報を出せば尊敬が得られるから気分が良いけど、無くす物なんて何も無いもんね。 自分からおいこら呼ばわりしておきながら、質問者のマナーがわるいと文句と罵倒だけ書き込んでいく自称上級者。 どうせ過疎スレなんだし質問ぐらいいいだろ。
答えられないバカの僻みか? ぶははは、だからオープンソースだって逝ってるだろwww オープンソースだから、何だって?
日本語が不自由な方がいらっしゃるようだが。
いや、不自由なのは頭か。 > 結局のところ、検索って奴はいろんなサイトを見て回って
> ゴチャゴチャと大量の広告を見せられた挙句、
> ネット上に散りばめられた情報を一個一個拾い集める糞つまらなくて脳の無駄遣いな作業なんだよ。
> だから掲示板で質問して一発でほしい情報を得ようとするわけ。
> お分かり?
> ここで質問してる子は賢いわw
ソース見れば答えが書いてあるじゃん。しかも一箇所に纏まってて便利だよね。
勿論、広告も無いし、過疎スレで指くわえて待つ必要もないし。
ソース読めば一発で欲しい情報は自分の都合で得られるよね。
オープンソースって便利だね。 >>467
お前、そんなことばっかり言ってるからプログラマはなめられるんだよw 俺は質問者じゃねーもん
別にお前に答えてもらおうなんて思っちゃいねーよw
ただ単に、質問に答えられないで僻んでるザコがいるなぁwと笑って見てるだけ 俺は教えるなんてめんどくさいことはしないから質問者はスルーだよw 最近、ほんと無駄に煽って答えを得ようとする奴がいるよね。
同一人物かな?不愉快だわ。 高圧的な態度で掲示板に「自分で調べろ」としか書けない自称上級者様のお言葉でした^^ >>476
そういう人がいるから質問者のマナーも悪くなるんだよね。
お互いに謙虚にならないといけないと思う。 【レス抽出】
キーワード:自称上級者
抽出レス数:3 しばらく見ないうちにすっかり寂れてもうて・・・
hp webOSは標準でSDL搭載。SDLがメジャーで陽の目を見たな。
ttp://developer.palm.com/index.php?option=com_content&view=article&id=1989&Itemid=331#CoreTechnologies
iPhoneやDS向けにも開発できるようになってる
ttp://www.galaxygameworks.com/ なんかSDL 1.3色々変わってるね。
個人的にはSDL rendering APIの変更が結構影響大きかった。 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のイベントでキー判定しているのがまずいのだろうか…
>>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のビルド手順が掲載されているサイトはありませんか?
教えていただければ幸いです。 環境によるだろ
ソース落としてREADME.fooとINSTALL読め
http://www.libsdl.org/download-1.2.php
特殊な環境でない限りソースからは入れないけどな
1.2.14をLinuxに試しに入れてみた、それ以外は知らん 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のバージョンが違う 短い音だとやっぱ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のログで確認)。
指摘すれば更新してくれるんじゃないかな。 SDLで簡単なアニメーション(とキー受付)をしたいのですが、そのプログラムで使う変数の値をどうやって入力しようか思案中です。
最悪の場合設定ファイルをテキスト形式で用意する案も考えていますが、もうすこしユーザーフレンドリーな入力方法としてwxWidgetsを使えないかと考えています。
wxWidgetsからSDLプログラムを走らせると速度が遅くなったりしますか?(というか、そんなことは可能ですか?)
他にもなにかお勧めの方法があったら教えてください。
>>510
あ・・・SDL-widgetsってのがあるのですね・・・。 次期バージョンのSDL_mixerでFluidSynthをサポートするみたいね SDLでEAXみたいな3Dサウンドって出来ないんでしょうか SDL_mixer:
Mix_SetPosition
角度と距離を指定すると音の位置が変化する
Mix_RegisterEffect
効果音単体・出力直前のバッファを弄れるフック関数を登録する
chanがMIX_CHANNEL_POSTの時、streamにBGM・効果音合成済みの出力直前バッファが渡される
もちろん3Dな音響を適用するエフェクトは全て自作していく
Mix_SetPostMix
出力直前のバッファを弄れるフック関数を登録する
streamにBGM・効果音合成済みの出力直前バッファが渡される
こちらもエフェクトは全て自作していく
Mix_RegisterEffectと共存OK >>521
マジ便利だよ。それにどんなOSでも使えるから一生もんの技術だよ SDL_mixerとSDL_imageが全然動かない・・・
libogg.dll, libvorbis.dll, libvorbisfile.dllをビルドして置いても
MIX_INIT_OGG指定すると初期化に失敗するし、
libpng15.dllをビルドして置いても
IMG_INIT_PNG指定すると初期化に失敗するし、
もう訳分からん・・・ 画像に関してはBMPにすれば何とかなるかもしれないが
音楽は流石にWAVにするのはきつい・・・
どうにかならないものか >>524
何かエラーメッセージは無いの?
エラー発生直後にSDL_GetError()の戻り値は確認してる? おおう、要求されるDLL名が
デフォルトで作成されるものと違っていたようです
ありがとうございました ちょっと使ったことあるけど、
このライブラリ煩雑すぎじゃね
SDLをもう一段階ラップしないと使い物にならない 全員がそうではないけど、
そうしないと使えない人がいてもおかしくはない。
むしろラップして使うものだし
俺俺ライブラリ作るの楽しいです(^ρ^) MacのSnow LeopardでSDLをフルスクリーンにすると
画面真っ黒でOSに戻れなくなる件は治ったんだろうか… 独自の画像読み込みはどうすればいいですか?rawなんとか? あるピクセルが透過ピクセルかチェックする処理を作っています。
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向けバイナリも用意されている。 ■ このスレッドは過去ログ倉庫に格納されています