SDL=Simple DirectMedia Layerでゲームだ
■ このスレッドは過去ログ倉庫に格納されています
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向けバイナリも用意されている。 SDLのイベント処理の使い方がいまいちわからないんだけど、どういうふうに使うものなのかな?
今までDXライブラリを使ってきたけど、プレイヤーのキー操作は
必要になったときにだけ関数で取得してた。
だから、すべてのオブジェクトを1フレームに1回更新するって時にも
オブジェクトにとって必要になったときだけキー入力を取得して更新してた。
SDLのリファレンスのイベントの例だと、
『キー入力イベントが発生してたら、それが「→」キーかどうか判断して右に数ピクセル移動する』
みたいな感じだったけど、これは上記みたいに「すべてのオブジェクトを1フレームに1回更新したい」
時にはすごく相性が悪そう。(1ループ中にいろんな種類のイベントが複数回発生するから) >>545
SDL_JoystickGetButton とか SDL_GetKeyState (2.0からはSDL_GetKeyboardState) とかそのへんは?
自分の処理の仕方に合わせて好きな方使えばいいんじゃね SDLのSurfaceにOpenGLを描画してるんでねーの?
勉強に、使うか使わないか分からないDirectXみたいな複雑なものなんて触りたくない SDL2のサンプルって大体SDL_Texture使ってるけどSDL_Surfaceのほうが使いやすいな 子供の頃にゲームを作りたいって思っても、年取るとゲームを作ろうって気力が無くなるな 小さいものでも作ってみて、「ああ、楽しいな」って思えればいいんだけどな。
自己効力感というか。
まあ、気力のでない理由なんて人それぞれだとは思うけど、
こういうスレ覗いてるなら誰しも作りたい気持ちはあるはずだし、
やる気のでないことも誰しもあると思うんで、負けないでほしいよね。
スレチの上に長文だね。すまんね。 努力によって獲られるものが、あまりにも小さく需要がない >>559
ゲームって子供しかしないからだと思う
ゲームってプレイするために作られるけど
自分が大人になってから作っても、友達とかもみんな大人になってるからゲームなんてしてくれないじゃん
情熱云々以前にそうした環境が要因だと思われ 自分の子供と遊べばいいんだよ・・・・・・(遠い目) Androidゲームを意識するならSDLで作っておいた方が潰しが利きますか? 細々と生き残るんじゃないの。
今までと変わりなく。 マウスホイールの情報ってmouse.hでは扱えないんですか? SDL_GetMouseState(&x, &y) & SDL_BUTTON(SDL_BUTTON_WHEELUP)みたいな
でも普通にマウスイベントじゃだめなの? >>576
http://hg.libsdl.org/SDL/file/default/include/SDL_mouse.h
SDL_BUTTON_WHEELUPがなくなってますよ。
マウスだけならSDL_mouse.hの方が楽だと思ったんですけど、ホイールが扱えないならやっぱりEventでやるべきですね。 それにGetMouseStateだとホイールは拾い損ねるので 現在画面に表示されてるのが透けて見えるように、半透明で塗りつぶしたいんですけど、
SDL_RenderClearやSDL_RenderFillRectでやると半透明になりませんでした。
どうやればいいんでしょうか? そりゃ半透明にならないのは当たり前じゃないか。
何が不思議なの? >>580
不思議って言うか、色の設定にアルファチャンネルがあるからできるからできるかなと思ってやってみたんですけど、できなくて、
じゃあ、どういう方法でやればいいのか、という質問です。 自己解決。
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のことでしょうか
それもコピー先に入れてないので移した方がいいですか? >それは、コピー元のパソコンの中に入ってる分をコピペしろということでしょうか?
コピペはだめ
redistribution package はインストールが必要
>コピー先のパソコンはネットと接続してないのでUSBで移すしか不足分を補えないのですが
数回に分けるか USB 数個に分ければ済むだろ
>あと、VCxxっていうのはVC++2010のことでしょうか
名前から想像するとたぶんそうだろうけど
必要に応じて他のバージョンも入れないといけないかもしれない
>それもコピー先に入れてないので移した方がいいですか?
移すっていうのが DLL だけにしたいって意味ならダメ 最近のexeはダウソしただけで動かないとかなぁー
それってdot netやjavaと代わらんじゃねーかよ な? Steamで早期リリースのゲーム Darkest Dungeon が SDL2 製だった。
PS4, Vita での発売も予定しているということで、移植性の高さを生かしているもよう。
ただ、文字の表示はビットマップから切り出す方式なので、
文字種の多い日本語化は難しいと思われる。
SDL本体だけで簡単にフォントのレンダリングができれば、
英語圏の製作者も、日本語化しやすい作り方をしてくれそうなんだがなぁ。 変なライブラリ使わなきゃインストーラ作って終わりじゃないの 最近、某動画サイトてhappy wheelsっていうシュールなゲーム実況(ホラフキンとかアブとか)がツボにはまってるんだけど
あれもSDL? このライブラリとC言語使ってスマホのアプリとかゲームとか作れる?
やっぱJAVAとか他のライブラリがないとダメ? >>597
SDL2.0でAndroid/iOSのアプリとかゲームを作れるよ(iOSは試したことない)。
Androidの場合、NativeActivityではなく、SDLが用意したSDLActivity.java
からJNI経由でmain関数を実行する流れ。
Suspend/ResumeやらAndroid固有な処理のコードとかが若干必要だけど、
基本的にPC環境で使ってるコードをそのまま利用できる。
>>591
SDL_ttf使ってるんだけど、文字の見た目で悩み中。
Bitmapフォントにしたいけど、どこまで感じサポートするかとか面倒なのよねぇ。 >>556
SDL_TextureでOpenGLとかDirectXを隠蔽してる。
SDL2.0の場合、SDL_SurfaceはSDL_Textureを作る為の一時バッファ。
>>557
激しく同意。そもそもSDL_Textureにピクセルを書き換えるAPIが
存在しないのがおかしい。 >>545
mainループで入力待ち+レンダリングスレッドを使うしかないくさい。 ffmpegのffplayのソースをいじって自分用のビュアーを作ってるんですが、
SDL1.xのSDL_CreateWindowでウインドウを作成するときに、
ウインドウの左上の座標を指定する方法はないですか? >>601
SDL全然知らなくて恐縮だけど、
http://sdl2referencejp.sourceforge.jp/SDL_CreateWindow.html
によると
SDL_Window* SDL_CreateWindow(const char* title, int x, int y, int w, int h, Uint32 flags);
の x, y に指定するんじゃないの? 違うのかな SDL1.2系なら
SDL_putenv("SDL_VIDEO_WINDOW_POS=0,0"); >>603
1.2系は外部変数経由なんだな・・・。 描画をOpenGL、その他をSDLに任せれば強いクロスプラットフォームなゲーム開発ができるのですか? サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート 公式いってSDL2.0っての落としてビルドしたけど
もしかしてSDL_imageやDL_mixerって別々にビルドしないといけないのか? >>608
それぞれバイナリ配布されてるからしなくても使えるはず マウス2個つなげて
それぞれの状態を取りたいのじゃが
SDLでは無理かの? メインループの中でSDL_PollEventを呼び出さないと、実行時にプログラムが「応答なし」になるんですけど、
どうしてなんでしょう? SDL_PollEvent じゃなくて PeekMessage とかでもいいってことかな >>615
WinAPIに由来したものなのですか。 ■ このスレッドは過去ログ倉庫に格納されています