テンプレとか追加適当にヨロ。
超スローペースだな。テンプレ張るのに6日とか。
ノーマークなリナックスゲームでも作ってノーマークのまま消えるか・・・
7 :
名前は開発中のものです。:2006/03/09(木) 20:42:47 ID:qxjrh314
DirectXよか敷居低そうに見えるけど、実際どうですか?
ちなみに2Dのゲーム作ろうと思ってるんですが。
カラーキーを考慮して普通に描画、
半透明、加算、減算、拡大縮小、回転等の機能はひととおりそろってるんでしょか。
SDLのコア部分はびっくりするほど機能何もないよ
SDLのコアな機能として、BMPファイルの読み込み、カラーキーの設定、WAVファイルの再生、などなど...
ほかの定番な機能も、補助ライブラリによって大概のものが提供されている
SDL_image 様々な画像ファイルの読み込みを扱う
SDL_gfx 基本的な図形の描画や、画像の回転拡大描画を扱う
SDL_mixer 様々な音楽ファイルを便利に扱える
>7
テンプレにある初心者の〜にでもいってみそ
SDL_gfxは拡大縮小といっていいのだろうか・・・
12 :
名前は開発中のものです。:2006/03/10(金) 07:19:33 ID:rpiX9DoE
初心者の〜
ttp://tokyo.cool.ne.jp/sdl/index2.html ココ参考にしてVisualStudio2005EEでコンパイルしてみたんですけど
警告が出ます。どなたか、解決方法わかりませんか?
1>------ ビルド開始: プロジェクト: sam, 構成: Debug Win32 ------
1>コンパイルしています...
1>main.cpp
1>i:\documents and settings\hoge\my documents\visual studio 2005\projects\sam\sam\main.cpp(57) : warning C4715: 'Init' : 値を返さないコントロール パスがあります。
1>マニフェストをリソースにコンパイルしています...
1>リンクしています...
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
1>マニフェストを埋め込んでいます...
1>ビルドログは "file://i:\Documents and Settings\hoge\My Documents\Visual Studio 2005\Projects\sam\sam\Debug\BuildLog.htm" に保存されました。
1>sam - エラー 0、警告 2
========== ビルド: 1 正常終了、0 失敗、0 更新、0 スキップ ==========
>12
日本語読めますか・・・?
>>13 それはちょっとキツイ.
初心者の〜なんだし.
>>12 サンプルソース見ると分かるけど,Init()の最後に return true; が無い.
解説サイトでそりゃ無いだろ,って気もするけど...
あと,msvcrt.lib を無視する設定にすると後半の警告は消える.
VisualStudio2005EE では設定方法分からないけど,
VC++6.0 の場合は,メニュー→プロジェクト→設定→リンク→インプット
で無視するライブラリを設定する.
しかしどっちも過疎ってるな。
hyoしゅ
21 :
名前は開発中のものです。:2006/04/30(日) 20:12:47 ID:rnc0CIh2
・最適化すると動かなくなる
・起動時に自動でテキストが出力される
このあたりは設定で回避できたりしないんでしょうか?
あとは、フォルダ内にDLLが多くなるので、
使う機能だけをexeファイルに内包させ、実行ファイルだけで済むようにしたいんですが…
>>21 最適化云々は知らん。ウチの環境(VC++2005)では動いてる。
あと2つは、
ヒント:
./configure --disable-stdio-redirect --disable-shared --enable-static
>>21 exeファイルに内包させるとLGPLが適用されるけど、それは構わないという認識でOK?
俺はSDL.dllやSDLimage.dllなどをまとめてSDL_cust.dll(仮)1つにしたいんだがやり方が分からないでいる。
散らばるのがアレならディレクトリに放り込めばいいんじゃないんでしょうか。
オープンソースなんだから自分でビルドすれば
もし成功したら欲しい
>>20 * 画面サイズは640x480のみ
* 同時発色数はハイカラー以上(フルカラー奨励、256色非対応)
* ウィンドウスタイルのみ、フルスクリーンモードなし
* 遅い(どうしようもないなぁ・・・)
* ウィンドウ、マップのインタフェースが煩雑(どうしようか・・・)
* Windows以外ではフォントパス検索が不十分(解決したい・・・)
* エラーの整備が不十分
* ドキュメントが全然整っていない(リファレンスはまだまだ・・・)
SDL自体もそんなに早くないしね。
ちなみにDirectX以外で。
31 :
名前は開発中のものです。:2006/05/11(木) 21:48:37 ID:RvOn68s9
SDLはSuDdenLyの略
Sudden Death
>>28 SDLの2Dってソフト連打じゃなかったけ?ソース見てないからなんともいえんが
OpenGLにすれば早くなるよね
Mix_LoadMUS_RWが使えないんだが…
原因に心当たりのある人、助言plz。
環境・やったこと
・ VC.NET, SDL1.2.9, SDLMixer1.2.6
・ SDL_mixer と mikmod を USE_RWOPS でビルド
・ 自分のプロジェクトにも USE_RWOPS
・ 自分のプロジェクトをビルドすると、LNK2019。Mix_LoadMUS_RWが未実装。
・ 関数の実体が定義されてないっぽいと分析したが、SDLの該当ソース部分はifdefの嵐でわけわかんないよギヴアップ。
・ ここ読んだ。でも意味がよくわからないから、上に書いたことしかやってない。
ttp://ilaliart.sourceforge.jp/tips/mix_rwops.html
36 :
名前は開発中のものです。:2006/05/18(木) 22:49:07 ID:KYxe/C8+
待望のバージョンアップ!!!
SDL version 1.2.10でますた。
さっそくSDL-devel-1.2.10-mingw32.tar.gzダウンローーード!!!
…。
肝心の libSDL.a が含まれてないような気がする…。
しかもINSTALLみると、コンパイルしなければならない???
configureもみつからない…。
ファイルサイズもちっこいし…。
なんか怖いのでSDL-1.2.9に戻しますた。
>>36 libSDL.dll.a が入ってるだろ…
INSTALLファイルはソースからのインストール方法が書いてあるだけだし…
ざっとChangeLog見てみたが、大きな結構変更点多いな
とりあえず、
・Added SDL_GL_SWAP_CONTROL to wait for vsync in OpenGL applications.
(GLアプリでvsync待ちが出来るようになった)
・SDL_WM_SetCaption() now officially takes UTF-8 title and icon strings, and displays international characters on supported platforms.
(ウィンドウタイトルがUTF-8に対応した…英語以外もおk)
・SDL_opengl.h has been updated with the latest glext.h from
http://oss.sgi.com/projects/ogl-sample/registry/ (SDL_opengl.hが最新のGL拡張に対応した)
・[Windows] Window positions are retained when switching between fullscreen and windowed modes.
(フルスクリーンとウィンドウモードの切り替えをした時にウィンドウ位置が維持されるようになった)
・[Mac OSX] SDL now supports building Universal binaries, both through Xcode projects and when using configure/make. See README.MacOSX in the SDL source archive for details.
(ユニバーサルバイナリに対応した)
このあたりが個人的におぉ!と思った
> 大きな結構変更点多いな
結構大きな変更点多いな
orz
40 :
名前は開発中のものです。:2006/05/19(金) 09:45:16 ID:L5bfb42p
Windows上で、VisualC++とSDLでゲーム開発したいのですが、
SDLはDirectXのラッパーらしいので、となるとDirectX SDKも
インストールする必要があるのでしょうか?
ランタイムDLLだけじゃダメ?
SDKはいらない。
42 :
名前は開発中のものです。:2006/05/19(金) 14:41:49 ID:L5bfb42p
SDLでドキュメントのPlaySoundのサンプル見ながら音を鳴らすコード書いてみました。
ちゃんと動きましたが、でも音の再生や停止に微妙な遅れが出る…
コールバックが呼ばれてるまでの遅れでしょうか?
ゲームだと音の遅れはかなり目立ちます。何か解決策はありますか?
その前にお礼を言ったほうがいいと思うよ
>42
なんか前に少しいじったとき、
すごい音がブチブチに途切れるんで何ごとかと思ったら
フルスクリーンにしたら直った。
ウインドウモードだとBltにスゴイ時間がかかって
処理落ちしてるみたい。呆れるほどの低速動作・・
でもフルスクリーン限定のゲームを作るならいいかな。
ていうかSDLってウインドウ時すごく遅いですよね
呼び方を間違ってるのかな・・?
45 :
名前は開発中のものです。:2006/05/19(金) 20:18:08 ID:ZMZOjNsZ
↑
もしかしてAPIのバージョン使ってる?
ドキュメントより:
「バージョンが2種類あります。 Win32 API 上で動く全てのシステムで
安全なバージョンと、 DirectX API 上で動くハイパフォーマンスの
バージョンです。」
あと、描画する前にテクスチャのフォーマットを
画面のフォーマットと同じに変換してメモリ上に置いておかないとすごく遅くなるよ
GL使ってる場合は別だが
47 :
34:2006/05/21(日) 19:06:53 ID:DbNShvSi
>>35 Mix_LoadMUS_RWが使えるようになった。ありがとう。
48 :
名前は開発中のものです。:2006/05/22(月) 11:53:31 ID:DTt/iAwZ
>>45 ダウンロードできるバージョンは一つしか無いようですが…
どうやってDirectXとWindowsAPIを切り替えるんでしょうか?
50 :
名前は開発中のものです。:2006/05/22(月) 14:26:01 ID:DTt/iAwZ
>>49 レスさんくす。
環境かよ!って突っ込みたくなりますね。
環境変数となるとユーザに配る時面倒だな
小さなローダプログラムで設定して本プログラムに渡すのが一番いいかな…
>>51 自分で書いたプログラムならSDLの初期化前にputnev()で
設定してやればいいだけじゃね?
どこかに1.2.9のアーカイブまだ残ってないのかな。
1.2.10にしたらBCCでコンパイルが通らなくなって、
とりあえずエラーが出ないようにはできたんだけど。
どうして1.2.9だとエラーでなかったのか調べたいと思ったら
このまえうっかり消しちゃって…。
54 :
53:2006/05/23(火) 21:50:02 ID:E2hiF+yI
ああごめん。
リンクされて無いだけで、普通にファイルは残ってたのね。
>45>46
情報ありがとうございます。試してみます。
>>55 ありがとう、見つけました。
でもヘッダーファイルの構成変わったみたいで見てもわかんなかったや。
ところでbccでコンパイルしたときって、
SDL単体でもmsvcr71.dll必要じゃなかったっけ?
今やったら無くても動いたんだけど、1.2.10でなんか変わった? 前から?
SDLのデバッグってどうやってやってますか?
普通にVisualStudioとかgdbとかXcodeとかで
はぁそんな高低さあるデバッグ環境並べられても
困るのですが
printfで十分だろ。
いやだいやだもっと高機能なデバッガ欲しいよ
3つ並べたけど、自分の環境に従ってどれでもどうぞってことだよ?
VisualStudioのデバッガじゃ不満なの?
あのねあのね、SDLってMFCでいうとこの
MDIみたいにWindowをネストして管理しることできますか?
何がわからないのかもわかってない自分にとっては
こういう流れも荒れてるようには見えない…
参考になります。
マウスカーソルをSDL_JOYAXISMOTIONで動かす為にSDL_WarpMouseを使った所、
カーソルがあった位置の画像が欠けたみたいになってしまいました。
こうならずに動かす方法はないでしょうか?
SDL 1.3(開発版)を使っている人はいますか?
>>68 そういえば、1.3ではLGPLとは違うライセンス形態が追加されるんだっけ。
誰か情報知ってる?
71 :
70:2006/12/13(水) 01:22:38 ID:sVKN71fZ
SDL.dllとSDL_image.dll、それぞれどのバージョンがどんな感じに対応しているか、
詳しく知っている人いませんか?
または、対応表とか。
SDL 1.2.7をbcc32でコンパイルしたプログラムを
SDL.dll 1.2.7とSDL_image.dll 1.2.5を一緒に使ったところ、
「SDL_Error関数がSDL.dllにない」と言われました。
SDL.dllを1.2.11にしてみたところ問題なく動いたので、SDL.dllの対応がSDL_image.dllに
追いついていないということになるみたいなのですが……。
>>72 SDL_image をコンパイルするときに使った SDL を使えばよいだけなのでは?
>>73 あ、そういう方法がありましたか。
自分は基本的にバイナリ配布のものをそのまま使っている軟弱者なので、気づきませんでした。
ありがとうございます。
>>53氏も言っていましたが、
bcc32の場合、SDL 1.2.10以降はヘッダーファイルがコンパイルに引っかかって困ります。
どこかに修正版が落ちていないものでしょうか……。
VC++2005が無料で使える今となっては、
bccでやる人はほとんどいないだろうしなぁ
>>74 コンパイルできないとかならBTSにレポートすれば?
>>75 まぁ確かにVS2005あるし,gccな人はMinGWやcygwinがあるし,
でも使い慣れたものを使いたいという人もいるだろうしサポートはしといて欲しいなぁ…
>>74 1.2.11での話だけど、"SDL_config_win32.h"の32行目
--------------------------------------------------
#elif defined(_MSC_VER)
--------------------------------------------------
を
--------------------------------------------------
#elif defined(_MSC_VER) | defined(__BORLANDC__)
--------------------------------------------------
と書き換えればエラーは出なくなる。
多分64bit対応部分で、bccには関係ないのでこれでOKだと思う。
勘だけど…
78 :
74:2006/12/15(金) 17:11:15 ID:wMbCYBFp
>>77 コンパイル通りました!実行も問題ありません。
(といっても、ウィンドウ作って、背景色をつけるぐらいのことしかしていないので、
他の機能がどうなっているかまではわかりませんが)
本当にありがとう。
79 :
名前は開発中のものです。:2006/12/22(金) 23:42:01 ID:Y6TczI63
過疎ってるなぁ……
念のため、age
80 :
名前は開発中のものです。:2006/12/24(日) 03:19:29 ID:2mdvKq0W
SDLコンパイルはできるのに
.exeを実行すると画面が一瞬だけ出て消えてしまいます
原因はググってもわかりませんでした
何が原因でしょうか・・・・
>>80 初心者用のサンプルコードのためと思われる。
ウィンドウを作るだけでプログラムが終わるので、ウィンドウは速攻で破棄される。
試しに、SDL_Quit()を呼ぶ前にSDL_Delay( 2000 )とでも書いてみ。
SDLとDXライブラリはどちらが初心者向きですか?
ちなみにスト2のような2D格ゲーを作りたいと思っています。
>>82 初心者向け、ということならDXライブラリのほうが初心者向け。
日本人による日本人のためのゲーム作成ライブラリだから、日本語の資料しかない。
SDLは英語の資料がほとんど。
勉強になる、スキルアップにつながるという点では、SDLのほうに軍配があがると思われる。
関係ないけど先日から挙動がおかしかったSDL公式ページ、サーバー落ちてるよ……。
>>83 回答ありがとうございます。
途中で挫折してしまっては意味がないので、DXライブラリにしようと思います。
>>82 マルチプラットホームを意識しないならDXが日本語ドキュメント豊富で
でいいんじゃないかな
86 :
名前は開発中のものです。:2006/12/31(日) 15:52:30 ID:fWznpiGN
ほしゅ
www.libsdl.orgおかしくね?
契約切れかな
>>87 ちょっと前まで、サーバが挙動不審だったり、落ちてたりしてたけど、
今は大丈夫じゃないか?
アクセスしたけど、問題なかったよ。
89 :
名前は開発中のものです。:2007/01/25(木) 15:50:04 ID:nVxgHFTg
Linux版を配布する場合,ライブラリのlibSDLはどのように同梱すれば良いのでしょうか?
Windowsであれば同一フォルダにSDL.dllを置いておけば認識して起動します
でも,Linuxはそれだと認識されないみたいです
Linuxerならライブラリ自分で入れちゃうだろうから同梱しなくていいんじゃね
SDL使ってますってだけどっかに書いといたら?
>90
PS3用なので,ユーザのスキル低いんです
依存関係調べて,元から入っている古いやつを削除とかムリ
配布したファイルだけで完結していたい
>>91 本当にユーザのスキル低いのか?
ってか低いって言えるほどPS3 Linux のユーザのサンプルが存在してるのかしら…?
低いやつってか使えないやつはLinuxインストールしてもすぐ消すんじゃね?
というだけだとあれなんで…
SDLがLGPLなんでソースをLGPLやGPLで公開できるなら全部スタティックリンクしちゃって配布すればいい。
できないなら libSDL を含む実行に必要な共有ライブラリ全部を同封して起動用のシェルスクリプトを
書いてやればOKだろう。シェルスクリプトの中で環境変数LD_LIBRARY_PATHに共有ライブラリを
置いたディレクトリを設定してやる、というかんじで…
LGPL だからリンク出来る様に *.o だけ同梱しておけば、ソースを晒す必要は無いよ。
スタティックリンクしちゃいな。
>>91 PS3Linux使用者のスキルは低くないだろ
現状を考えると
シェアウェアや同人ゲームなどでSDLを動的リンクで使う場合、
LGPLライセンスは感染しないのだから
ゲーム本体の著作権は開発者が完全に保持できるという理解で正しいんでしょうか。
第三者による無断配布やリバースエンジニアリングを禁止できるか否か、ということなのですが。
動的リンクすれば商用もokだから問題ない。
しかし、1.3以降はどうするんだろ?
今、ホームページ見たら1.3以降は
LGPLまたは別途商用って...
もめそうだな。
>>97 ありがとうございます。
ライセンスが過渡期というのはいかにも怖いので、無難にDXライブラリを採用することにします。
デュアルライセンスにするとなぜもめるのか分からん.
コミッタがいっぱいいると了承得るのはメンドイだろうが,
ホームページに書かれてるって事は,既に大体解決してるからだろう.
ようはあれでしょ。
金払ってもいいから、プロプライエタリなソフトに組み込みたいっていう
人のためのライセンスも用意するってことでしょ。
むしろ、今より選択肢が増えるんじゃない?
でもSDL本体に商用ライセンスができても、周辺ライブラリが
LGPLだったりするからなー。
101 :
名前は開発中のものです。:2007/04/19(木) 18:14:57 ID:WksY0tBK
102 :
名前は開発中のものです。:2007/06/10(日) 03:21:21 ID:krBWNgXK
2ヶ月書き込みがないとは…
ライセンス云々で質問なんだけど
ソース同梱しちゃえばGPLだろうが何だろうが
販売しちゃっても問題無いんですかね?
>>102 Yes.
GPLの場合はライブラリのソース/おまえさんの作ったソフトのソース
両方共同梱だから注意な
ついでにSDLはGPLじゃなくてLGPLだからな
>>102 SDLはLGPLだからSDLをダイナミックリンクすればアプリの
ソース非公開でバイナリのみ配布(販売含む)してもOKだ
でも同封したSDLのバイナリの元になったSDLのソースは同梱しよう
105 :
名前は開発中のものです。:2007/06/10(日) 22:22:47 ID:SQA04+CO
バイナリ入手者が、ソースを手に入れたい時に入手できればよいから、
SDLの公式URLでも書いとけばいいはず
106 :
名前は開発中のものです。:2007/06/10(日) 23:06:59 ID:SQA04+CO
だから、GPLのも必ずしもソース同梱しなくていい。
サポート窓口か何か用意しておいて、ソース公開問い合わせが来たら渡すでもよかったはず。
ただし、その入手者が、さらなる公開を妨げることができないのでたいして変わらないが。
ToHeart2も確かその体制だったような
なんかバージョン上がってから、タイトルバーの日本後表示ができなくなったんだけど、なんでかわかる人いるかしら?
おお!ありがとです!
GUIで文字列を入力したいんだけど、SDLにそんな機能はないよね・・?
>>110 GUIで入力って意味がよくわからないけどドラクエ入力みたいの?
それともGUIウィジェットのテキストエリアにIMEで入力するような話?
# どっちにしろSDL本体にそんな機能はないけどね…
>>111 抽象的でごめんなさい、後者の方を想定してた(テキストボックスにサーバのアドレスを入力して接続)
ちょっと他の方法を模索してみます。
>110
SDL用のライブラリを探せばそんなのもあるんじゃないですか?
と、無責任なことを言ってみる
SDLSKKってのがあるっぽいけど110氏の用途に合うかどうかは
よく分からんかった。
SDLスレはなんて良スレなんだろう!ほかのスレときたら…
>>110 アドレスならASCIIコードの範囲で収まるから自前でキーコードから
入力させてもすぐできると思う。でも楽したいならSDLベースのGUIライブラリが
あるから適当なのを探してみるといいよ。
118 :
110:2007/06/21(木) 06:42:06 ID:OnHGIEGo
>>114 これは良さそうです、もっと調べてみます
>>116-117 確かにすぐに実装できそうですね。ライブラリに逃げて、上手くいかないようでしたら
自前で作ってみることにします。
わざわざ調べていただき、ありがとうございます。
よっしゃ!頑張ろう!
頑張ってら〜
Qt辺りも使えるんじゃね?
>>103-106 ソースも必ず同梱しないといけないのかと思ってましたが
意外と自由度があるんですね…
readme.txt にURL書いておくのが簡単そうでいいですね
>>121 > readme.txt にURL
おれも最初それが楽そうかな?とか思ったんだが、
一次配布元が移転してたり、もっとひどいと無くなってたりして、
さらに自分も当時のバージョンを手元に持ってなかったりする状態の時に
「ソースくれ」と言われたらやっかいだなぁ、とか思ったのでやめにした記憶があるんだぜ
まぁ、心配しすぎなだけかもしれないが
>>121 厳密に運用しようとすると
>>122 に書いてあるような問題があるんだけど
実際にはソース同梱しない人が多いね.
CD配布とかで容量の問題がないなら同梱した方が面倒はないはず.
SDLで音をパニングしたいんだけど、可能ですか?
デフォルトのメソッドには無いので普通には出来ないっぽいですが。
自分でミキシングすればもちろん可能ですよ。
SDL_mixer にも Mix_SetPanning がありますよ。
126 :
124:2007/07/04(水) 19:42:37 ID:q7qptMde
重ねて質問恐縮なのですが…
SEについても、SetMusicPosition などの便利な命令を使いたいのです。
それが無理なのでしたら、複数のBGMを同時に扱い、SEとして使いたいのです。
どのような方法があるでしょうか?
というか・・・
SEでしか使えない命令とBGMでしか使えない命令が多く、かなり不便で困ってます。
SetPanningを使いたいならSEでないといけないが、SetMusicPositionで再生位置を指定したいのならBGMでないといけない……
何か対策はあるのでしょうか?
全部の関数が使える型があれば嬉しいのですが…
SDL_mixer は mixer って名前の割に mixer 機能と音声デコーダとしての機能が
ひっついてたりと微妙な設計の上に mixer としての機能はいろいろ制限付きだから
凝ったことしたいなら mixer を自作するか他のライブラリを使った方がいいと思う
131 :
128:2007/07/05(木) 00:35:58 ID:qePQoFxZ
>>129,130
回答ありがとうございました。
SDLは音関係はまだ弱いみたいですね。今後に期待します。
今後強くなることはほぼ無いよ
どうしても欲しけりゃ自分で作れ
マジで
133 :
名前は開発中のものです。:2007/07/14(土) 15:40:35 ID:MplrYQ6S
SDL使ってないんだが、
SDL製のゲームってなんで、フルスクリーンから戻ると、
ウインドウがくっちゃくちゃになるんだ?
WindowsXPになってからから、最近はあまりならなくなったが、
デュアルディスプレイ環境にしたとたん、今度は、フルスクリーンから戻ると
サブディスプレイ側にウインドウが全部持ってかれるwwww
SDL製ゲーム、妙に腹立つんだが……
SDLって、フルスクリーンに、どんなAPI使ってる?
ソース読めば
>133
SDL-1.2.10のリリースノートに対策したと書いてあった気がするので
それ以前のバージョンだとダメとかありそう
とりあえずSDLのDLL群だけ公式サイトの1.2.10のものに入れ替えてみたらどうよ?
まーそれでもデュアルディスプレイ時は問題がある、とかだったらアウトだが
136 :
名前は開発中のものです。:2007/07/15(日) 03:58:00 ID:tjJzXNfv
137 :
名前は開発中のものです。:2007/07/15(日) 16:34:16 ID:/Vt2f/ht
QuickTime を最新版にしたら
ld: Undefined symbols:
_HIPointConvert referenced from QuickTime expected to be defined in Carbon
ってのが出てコンパイルできなくなった
これは俺だけ?
環境を(ry
エラーメッセージから多分OSXだろうな、ということぐらいは推測出来るけども
それが分かったところでそんな環境でやってる人が少なすぎて誰も答えられない予感
OS Xなんだけど、むしろ137を見て、
iTunesとQuickTimeのパッチを宛ててない俺がいる。
真相が明らかになるまで宛てない。
>>137 もしかして Panther ですか?
うちも 6 月 26 日に SDL をコンパイルした時は何の問題もなくて
mplayer をビルドできたんだけど、QuickTime の更新後他にも
ライブラリを追加して mplayer をリビルドしようと ./configure したら
SDL を認識しなくて configure.log に
>>137 と同じログが残っていました。
--enable-sdl、--with-extraincdir、--with-extralibdir、--with-sdl-config 等を
オプションに加えてみたけどダメだった。
ム板のQtスレで似たような症状を見かけたな。
紛らわしいがQuicktimeじゃなくてQtのスレな。
そのときはQuickTimeのバージョンを落とせと言う結論が出てた。
QuickTime ProにしてたらQuickTImeのバージョンをあげずにシステムだけソフトウェアアップデートできる
すいません初心者なんですが
SDLで描画する際に描画処理をもっと高速化したい場合
どんな方法があるでしょうか?
もしくは気を付けるべき点とかありますでしょうか?
主にわりと広い領域を1フレームごとに単一色で塗りつぶしたいです
>>144 ビデオカードによってはGL併用で板ポリで塗りつぶしたほうが早いことがあるかもね
>>145 レスありがとうございます 試してみます
今日始めたんだがもうなにがなにやら
導入できないしなんとか出来たと思ったらビルドできないし…
解説が少し古いから最新バージョンを使わないで説明に使われてるバージョンにしたほうがいいんだろうか
泣きそうだ
俺も始めたばかりだけど、windowsでのバイナリ作成はイマイチよくわからん
unixならmakefileかいてmakeすればいいだけだったからなぁ
WindowsならVC++用のDLLやらlibやらひと通りバイナリで公式に置いてあるじゃないか
SDL-devel-1.2.12-VC8.zipでいいの?
VC++2005ならそれでいいと思う
だよね…
設定からincludeとlibにパス通してから
ttp://www.tacoworks.jp/software/SDLdoc-jp/html/guidebasicsinit.html の一番下のコードをコンパイルしようとしたらエラーが…
1>------ ビルド開始: プロジェクト: SDL_test, 構成: Debug Win32 ------
1>コンパイルしています...
1>main.c
1>c:\documents and settings\*****\my documents\visual studio 2005\projects\sdl_test\sdl_test\main.c(4) : warning C4026: 関数はパラメータ リストを使って宣言されています。
1>リンクしています...
1>main.obj : error LNK2019: 未解決の外部シンボル _SDL_Quit が関数 _SDL_main で参照されました。
1>main.obj : error LNK2019: 未解決の外部シンボル _SDL_GetError が関数 _SDL_main で参照されました。
1>main.obj : error LNK2019: 未解決の外部シンボル _SDL_Init が関数 _SDL_main で参照されました。
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
1>C:\Documents and Settings\Anpan\My Documents\Visual Studio 2005\Projects\SDL_test\Debug\SDL_test.exe : fatal error LNK1120: 外部参照 4 が未解決です。
1>ビルドログは "file://c:\Documents and Settings\Anpan\My Documents\Visual Studio 2005\Projects\SDL_test\SDL_test\Debug\BuildLog.htm" に保存されました。
1>SDL_test - エラー 5、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
ユーザー名全然消せてないし('A`)
>>152 リンクするライブラリに
SDL.lib SDLmain.lib を追加してないだけじゃないか、それ
>>155 動いてよかったすな
あとこのスレ特に話題にすること無いから過疎ってるけど
ROMは結構いるんじゃないかと思う
そうなのか
一年半で150レスだと知って絶望したが安心した
これからよろしく
>>155 SDL ってか VisualStudio の使い方の問題だから一度は
ツールの使い方の勉強をするといいと思うよ.他にも応用が効くし.
自分も、見てはいるけど、書き込んではいない人ですね。
つられて書き込みに来ました><
SDLで同人ゲーム作って3年後には成金の予定です><
いくつかかサンプルプログラム組んでみたんだが、
やたらCPU使用率が高いのは仕様なのだろうか
>>162 適当にSDL_Delayでも入れたら?
ほぼCPUによる描画だからCPUの使用率が高いというオチは無いかね。
なんらかのSDL_VIDEODRIVERを指定しないとSDL_BlitSurfaceは重いよ。
ありがとう
たぶんCPUだけでひたすらループをまわしているからかな…
参考にしてみる
まったくDelay入れてなければ普通にビジーループと同じなんだから
どんなCPUでも100%近くまで食うだろうけど…
1.2.12って先月出てたんだな……。
Added support for UTF-8 window titles on Windows. が嬉しい。
168 :
名前は開発中のものです。:2007/08/14(火) 12:52:04 ID:aAQZrqPS
SDL入門てきなページのサンプルにprintf使ってるのあるんですけど、
printf使ってみてもなにも表示されないんですよ。原因わかる人
教えてくれますか?
>>168 Cヘッダファイル読み込んでないとかいうオチじゃないよな?
コンソール表示してないとか
実行ファイルと同じディレクトリにstdout.txtってのがないですか?
あるならそれに出力されてるはず
窓に出力するのは結構面倒だぜ
173 :
名前は開発中のものです。:2007/08/14(火) 15:57:26 ID:aAQZrqPS
>>169ヘッダファイルよみこんでました
>>170すいません、意味がわかりませんでした。ほんと、すみません。
>>171stdout.txtありました。ちゃんとかいてありました。
画面に出力する場合は fprintf( stdout, "maimai" ); でいけるかなと思ったんですが、
うまくいきませんでした。
もしかしてSDLの標準ライブラリには、そのような関数はないんですか?
174 :
名前は開発中のものです。:2007/08/14(火) 15:59:38 ID:aAQZrqPS
>>172そうですかやっぱりSDL_kanjiなどをつかうべきですか?
だからコンソール出せばいいじゃん
>>168 そのサンプルで同じようにしたいなら
どのような手段を利用したいのか教えて欲しい
もしくはそのサイトへリンクを張るのも手だ
不足している情報は「どこに」「どういった目的で」文字を出力したいか
そして、現在は「どのような手段」を使ってそれを達成しようとしているかだ
間違いを修正して欲しいなら正解だと思っている方法を提示すべきだし
新たな方法を示して欲しいなら目的や条件をはっきりさせて欲しい
デバッグ目的であればコンソールやファイルに出す方法があるし
もしくは(Windows限定になるが)OutputDebugStringを使うのも便利だ
ただ、現象からみてコンソール出してないだけだよなぁ……
出し方わかる?たぶん色んなソースをチャンポンしたせいで
mainとWinMainのソースが混ざってるだけだと思うんだが
Windows版のSDLでprintfをコンソールに表示したかったら、
SDLmain.libをコンソールアプリで作り直さないと無理だよ
178 :
168:2007/08/14(火) 23:20:35 ID:aAQZrqPS
レスありがとうございます。
>>175本当にごめんなさい、意味がわからないです。
>>176>>不足している情報は「どこに」「どういった目的で」文字を出力したいか
そして、現在は「どのような手段」を使ってそれを達成しようとしているかだ。
「どこに」は、ウィンドウです。「どういった目的で」は、いまはとくに目的はありませんが、
サンプルどうりの結果が得られないのは、自分の環境に問題があるように思えて、心配です。
「どのような手段」は、今は、見つかっていません。どうしようもなければSDL_kanjiを使おう思っています。
間違いを修正して欲しいなら正解だと思っている方法を提示すべきだし>>printf("maimai");をメイン関数の中に入れてウィンドウにmaimaiと表示させたいです 。
デバッグ目的であればコンソールやファイルに出す方法があるし >>デバックが目的ではないです。
もしくは(Windows限定になるが)OutputDebugStringを使うのも便利だ>>調べてみます。
ただ、現象からみてコンソール出してないだけだよなぁ……
出し方わかる?たぶん色んなソースをチャンポンしたせいで
mainとWinMainのソースが混ざってるだけだと思うんだが>>ごめんなさい、いみがわかりません。
SDLより前に基礎的なことが分かってなさ過ぎる。
printfは基本的に標準出力(コンソールやファイルやプリンタ)への文字表示命令であって、
SDLみたいなグラフィック画面への出力とは全く別物なんだよ。
そもそも、どこのサンプルでどう上手く行かないかも明示せずに
曖昧で焦点がぼやけた質問で人様を煩わせるのはちょっとどうかと思うんだわ。
そんな調子では超能力でもなければ君の問題を把握することができんよ。
もーっ、そのものズバリ書いたってのにー
printf() は Windows 以外だったら標準出力(コンソール)に出るが、
公式で配っているWindows版のSDLはコンソールアプリじゃなくてWindowアプリとして作られてるので
そのままではprintf()を使ってもコンソールには何も出ない
その代わりに標準ではstdout.txtに出力されるようになってる
これはfreopen()を使って別のファイルにすることは可能
あと、Windows版SDLでは、自分で書いたmain()は #define 使ってSDL_mainに書き換えられてる
本当のエントリポイントはSDLmain.libの中にあるWinMain()
だから、コンソールにprintfを出力させたかったらSDLmain.libを作り直す必要があるってこと
SDL_kanjiは知らないけど、日本語使わない漏れはSDL_ttfのTTF_RenderUTF8_Solid()で作ってSDL_BiltSurface()で貼り付けるのを関数化して文字列渡して使ってる
しかしstdout.txtあるのは便利だよな
お前ら凄い親切なw
伝わってないのが端から見てて歯痒い。
>>179-180以上にかみ砕くのは俺には無理と思うが、補足。
・printfでstdout.txtに出力されるのはとりあえずWindows環境では普通の動作なんで別に心配しなくていい。
とりあえず出力した文字の確認もできるだろうし、ウィンドウに出力されなくても問題ないよね?
・普段printfで出力してるコンソール画面は、SDL使ってる限り出せないと思っていい。
ウィンドウに文字を出したいなら、文字列を画像(サーフェス)として生成して、それを表示する必要がある。
それをやってくれるのがSDL_ttfとかSDL_kanji。使えるフォントの種類に違いがあるんだが、Windowsなら何も考えずSDL_ttfを使っていい。
あと、なんか、上のレスを見る限り意味がわかりませんと返ってくる気が凄くするんだが、わからんのがどの部分のどの用語なのかとかを書かないと説明しようがないんじゃないかと思う。
183 :
168:2007/08/15(水) 00:10:50 ID:PDGC0i0E
>>183 > 普通の環境で"キーが押されました"が表示されないのは当たり前でしょうか?
「Windowsの」普通の環境では表示されないのが当たり前
stdout.txtに出力されるのが当たり前
違う人だけど答えます
printfの出力先は"stdout"ってのは常識ですよね?(俺もまちがってるかも)
で、windowsのSDLではこの"stdout"ってのは[stdout.txt]とイコールなわけです。
だから、printfは[stdout.txt]に出力するようになっているわけです。
だから、このプログラムはもし、何かしらのキーが押された場合に、[stdout.txt]に
キーが押されました
と、書き込むプログラムなわけです。
要は、SDLのイベントの処理の仕方を説明したプログラムです
なんだか、いろいろ勘違いされてるみたいですが、SDLにウィンドウに文字列を描画する、WinAPIでいうところのTextOutのような関数は存在しません。
もし、ウィンドウに文字列を描画したいなら皆さんが言うようにSDL_ttfや、SDL_kanjiなどを使うか、
自分でbitmapを用意して、それを描画しなくてはなりません
というより、stdoutとか理解してますか?
SDL以前にCがあやふやではないですか
たぶん
>>185の言っていることの一割も理解してないんじゃないかと
多分分かってるのは「違う人」だけだと思う
188 :
違う人:2007/08/15(水) 01:01:08 ID:4BjrTEfx
ん
189 :
違う人:2007/08/15(水) 01:02:11 ID:4BjrTEfx
すまん、誤爆、、、
>>187 どこか、間違ってますか?できれば教えてもらいたいのですが、、、
こんな長文書いといてなんですが、自分もC
190 :
違う人:2007/08/15(水) 01:04:34 ID:4BjrTEfx
は結構微妙なんで
てか、すみません
なんか、ビューワの調子が、、、
191 :
168:2007/08/15(水) 01:31:47 ID:PDGC0i0E
>>185>>要は、SDLのイベントの処理の仕方を説明したプログラムです
完璧理解しました、簡単なことでしたね。
どうもありがとうございます。
みなさん親切にどうもありがとうございました。
簡単なことでしたね、じゃない。捨て台詞みたいでちょっと感心しないな。
お前には難しかったんだろ。
まぁまぁ。俺も同じこと書きそうになったけど。
っていうかVC++2005EEでもbcc+devでもビルド設定でコンソールアプリケーションに指定したら普通にでるよ
処理止めないとすぐ消えるけど
>194
いわれてみれば、確かにw
思いつきもしなかった
if( g_WindowActive ){ // ウィンドウがアクティブかどうか
move();
draw();
} else {
SDL_WaitEvent(&g_Event);
}
if(!PollEvent()){ // SDL_PollEventでイベント処理
break;
}
こんな感じでウィンドウがアクティブのときは動いて、
非アクティブのときは止まっているようにしたいんですけど、
ウィンドウが完全に見えている状態で非アクティブからアクティブになっても
止まったままなんです。
非アクティブのときにCPU使わないようにしようとWaitEvent入れたらこうなりました。
どうすれば対処できますか?
>>196 そもそもアクティブ/非アクティブの状態の取得をどうやってる?
完全に想像だから間違ってたらすまんが、SDL_APPACTIVEは最小化されてるorされてないしか判定しない。
フォーカスの有無ならSDL_APPINPUTFOCUS
198 :
196:2007/08/19(日) 16:58:00 ID:87LzenFa
>>197 PollEvent()内で、このような処理をしています。(ほかのイベントは省略しています)
while(SDL_PollEvent(&g_Event)){
switch(g_Event.type){
case SDL_ACTIVEEVENT:
if( (g_Event.active.state & SDL_APPINPUTFOCUS || g_Event.active.state & SDL_APPACTIVE) && g_Event.active.gain == 0 ){
g_WindowActive = false;
}
if( (g_Event.active.state & SDL_APPINPUTFOCUS || g_Event.active.state & SDL_APPACTIVE) && g_Event.active.gain == 1 ){
g_WindowActive = true;
}
break;
}
}
最小化からの復帰と別ウィンドウからフォーカスが移って再描画されるときはまた動き出すのですが
ウィンドウが完全に見えているときのフォーカスの変化に反応してくれないんです。
>>196 SDL_WaitEvent() で拾ったイベントを捨ててるからだろ…
200 :
196:2007/08/19(日) 20:42:20 ID:87LzenFa
SDL_WaitMessage()のあとにもイベント処理をはさむようにしたらうまくいきました。
どうもありがとうございます。
先生!SDL_AddTimerが0しか返してくれやがりません><
>>201 エスパーすると SDL_Init() に SDL_INIT_TIMER を渡してないんだろう
ごめんなさいSDL_InitにSDL_INIT_TIMER渡してないだけでしたごめんなさい
美しすぎる流れに完敗
久々にいいモン見れた
今日は夢に美少女が出てくるに違いない
206 :
名前は開発中のものです。:2007/09/06(木) 00:56:52 ID:4VpwTJkO
あ
207 :
名前は開発中のものです。:2007/09/06(木) 01:00:03 ID:4VpwTJkO
質問です。SDL_VIDEORESIZEが送られてくるタイミングっていつですかね?
SDL_SetVideoMode()で SDL_RESIZABLE を渡してウィンドウ作って
そのウィンドウをリサイズしたときじゃね?
209 :
名前は開発中のものです。:2007/09/06(木) 02:51:05 ID:4VpwTJkO
ごめんなさい間違えた。SDL_VIDEOEXPOSEです。
>>209 Windowsとかだと普通にウィンドウが表示されたときや隠れたウィンドウが表に出たときに
飛んでくると思うけどXだと全然こなかったりするね…
あとは別スレッドでデータ更新してメインスレッドで描画する場合に別スレッドから
自前で SDL_PushEvent() で送ってやるときとかに使うこともあるかな…
X の場合 GL と併用しない限り送られてこないと思う。
Windows の場合は WM_ERASEBKGND のタイミング。
212 :
名前は開発中のものです。:2007/09/06(木) 18:25:11 ID:4VpwTJkO
ありがとうございます。
SDL_PushEvent() を使えばInvalibateRect()のように
SDL_VIDEOEXPOSEを送ることができますか?
>>212 あんな感じで使える。
でもSDL_ExposeEvnet には範囲がないから範囲指定はできない。
214 :
名前は開発中のものです。:2007/09/07(金) 08:53:04 ID:D9hBhXmU
ありがとうございます。
ちょっと調べてきます
しかしゲームだと毎フレーム描画することが多いのであまり使われる機会はないよなぁ…
ツールとかなのかな?
Wizのような疑似3DRPGやADVならアリかもしれないな
217 :
名前は開発中のものです。:2007/09/08(土) 07:10:44 ID:YMaYTJnw
>>215 ですよね、毎フレーム描画するほうが自然ですよね。やっぱり舞いフレーム描画することにしました。
レスしてくれたみなさまどうもありがとうございます。
すみません、ちょっと質問です。
C++で使うときに便利なラッパーて存在しますか?
自分で書いていたんですけど、途中まで書いたところで嫌んなってきたので……
220 :
名前は開発中のものです。:2007/10/03(水) 14:15:28 ID:Nwe20aSd
>>220 あの辺はラッパーの域を大きく越えてもっと高レベルなゲームエンジンだろ
222 :
218:2007/10/03(水) 23:07:07 ID:RbqWUS1l
見てみました。 >219
……全部死に絶えているようです。
あと、実装も古かったのであまりC++らしく無かったです。自分の実装の方がまだましだった……
じゃ!がんばれ
あっと、一つだけ質問。
イベント構造体って、どういう使い方するのが一般的?
やっぱり設定を済ませたらとっととイベントキューに押し込む&使うときだけイベントキューから取り出す
ということで、イベント構造体を保存しておくようなことはあんまり無い?
>>222 要するに気にいらなかったんだなw
ぶっちゃけるとSDLみたいな低レベルのAPIをそのままC++ラップしてもあまり嬉しくない。
余程潔癖なC++プログラマじゃない限り C の API そのまま呼ぶのは別に苦じゃないしね。
g3d まで行かなくてももう少し高レベルのゲームエンジンとか特定ジャンル向けAPIなら
使ってみるかという気になるけれど。
226 :
218:2007/10/06(土) 22:35:26 ID:BZgGmwuo
遅レスすみません。
G3Dがなかなか良さそうだったので色々弄っていたのですが……初っ端のstarterサンプルも走らない……。
なんで〜〜〜〜。ドキュメント通りに設定したのに……。
>225
>余程潔癖なC++プログラマじゃない限り C の API そのまま呼ぶのは別に苦じゃないしね。
まあ、そうですけどね。リソース管理といってもboost::shared_ptr併用すれば大した手間じゃないし。
それは判っているのですが、ついゴテゴテとクラスを構築してしまって……
普段boostの便利ツールを使っているとどうも納得行かなくて。
基本的なところを実装できたらなんかのフレームワークでっちあげてみようかな。
そして目的がゲーム製作からライブラリ製作へ・・・w
ありがちなパターンだよなw
ゲーム作るより楽しかったり
あるな。すげえよくわかるw
おれもだw
クルマ一台一人で作るより
ネジや歯車を一人でつくる方が完成する可能性高いしな
233 :
218:2007/10/08(月) 00:30:19 ID:XgwvZWdN
やべえ、楽しい。SDL自体のボリュームも大きくないから、絶望的な気分になることも無いですし。
しかし、SDL側で管理しているリソースとかが所々にあって、ちょっと厄介ですね。
使い込みながらブラッシュアップしよ。
>>233 ゲームを作りながらライブラリを作ることをお勧めします。
できたらある程度高レベルなライブラリ(ってかゲームエンジン)を頼む。
すみません、質問です。
SDL_mixerでoggファイルを再生しようとしてるんですが、
再生中中断して次の曲を鳴らすと一瞬ノイズが入ってしまいます。
Mix_PlayMusic、Mix_HaltMusic以外に何か必要な手順等あるんでしょうか?
Mix_OpenAudioでバッファ長4096を指定していて、
これを1024とかにしたら注意しないと気づかないくらいノイズも短くなるんですが、
根本的な対策にはなってないので…。
>>235 音を瞬時に切ったらプチっていうノイズになるのは当たり前
横着せずにMix_FadeOutMusic()とMix_FadingMusic()を使うべし
>>236 ありがとうございます。
知りませんでしたが、ものすごく基本ぽいですね…。
つながらないです
繋がるようになった
SDL_imをSDL 1.2.12で使ってる人います?
パッチを手動でシコシコ移してるんだがめんどくせぇ・・・
g3dのstarter動かないんだが
>>218の解決策ギボン
サルベージ!
msys+mingwでSDLを試しているんですが、bmpの読み込みはできるんですが
pngの読み込みができずに頭を抱えています。
SDL_image.hをインクルードするとあるんですが、やってみてもIMG_Loadの
ところでビルドエラーになってしまいます。
$ gcc -o myLibTest.exe myLibTest.c myLib.c -g -O2 -I/usr/include/SDL -D_GNU_SOU
RCE=1 -Dmain=SDL_main -DHAVE_OPENGL -L/usr/lib -lmingw32 -lSDLmain -lSDL -mwind
ows
C:/DOCUME~1/ほげ/LOCALS~1/Temp/cca2baaa.o: In function `SDL_main':
C:/msys/1.0/home/moregusi/SDL-1.2.12/mytest/myLibTest.c:65: undefined reference to `IMG_Load'
collect2: ld returned 1 exit status
pngを読み込もうとしない場合は無事実行できます。どなたか教えてくだされ。
SDL_imageをどのように環境に組み込むのが正しいのでしょうか。
同ディレクトリ内にSDL_image.dllを置いて、includeディレクトリ内にSDL_image.hをおいて
ビルドをしてみましたが状況に変化がありませんでした。
247 :
246:2007/12/24(月) 13:06:22 ID:dmdr7zzq
248 :
246:2007/12/24(月) 14:00:50 ID:dmdr7zzq
たびたびすいません。
無事SDL_imageのインストールは済んだようなのですが、
ひとつのディレクトリ内に SDL-1.2.12 SDL_image-1.2.6
と並べてインストールしたんですが、SDL-1.2.12内で作業している場合
どうすれば正常にpngを読み込めるようになるでしょうか?
標準のままだとmake installで/usr/local以下の同じディレクトリに
SDLもSDL_imageも入るはずだけど、変更したってことかな?
もし標準のままだったら/usr/local/bin/sdl-config参照
オプションに-mSDL_imageと、-I -Lでインクルードファイルとライブラリ置いてあるディレクトリへのパス指定すればいいんじゃね?
漏れは全部SDLの中にぶちまけてたけど(笑
ごめん-mじゃなく-lだった
252 :
246:2007/12/26(水) 08:13:55 ID:z7lh/EP2
perrorを使ってみるとなんか出してくれるかも?
254 :
246:2007/12/26(水) 09:55:52 ID:z7lh/EP2
便利な関数を教えていただきありがとうございます
perror(ファイル名文字列)をためしてみましたが、No errorと出力されました。
IMG_Load関数の挙動に問題がある様子です。
どこの落とし穴にハマっているんでしょう...
なにかエラーが出たら、IMG_Loadで呼び出されるSDL_RWFromFileでエラーがセットされるようなので、
IMG_Load呼び出した後にSDL_GetError();をやってみるといいかもしれないです。
ごめんなさい、正しくは
printf("%s\n",SDL_GetError());
です
257 :
246:2007/12/27(木) 00:09:40 ID:Nhkc6jeq
さっそくためしてみました
Unsupported image format というエラーがセットされていました
念のため読み込まれるpngの透過情報をなくしてみたりと
データ側をいじってみましたが変化がありませんでした。
一度SDLの環境を見直してみます
258 :
246:2007/12/27(木) 00:30:29 ID:Nhkc6jeq
>>258 そのSDL_imageはどこで手に入れたんだ?
自分でコンパイルしたのだとしたらコンパイルする前にlibpngを入れとかないとだめだよ?
で、libpngをコンパイルするには zlib を入れとく必要がある。
なんか基本的なとこがわかってない気がするな…
とりあえず、聞く前に試そうぜ?
SDL1.2.13のリリース情報
SDL1.2.13はちょっとしたバグフィクスリリースです。
【一般注意事項】
インテルCompiler10と共に建てるときの固定連結路誤り。
公共のヘッダーから迷っているC++コメントを取り除きました。
【unix注意】
セキュア・オペレーティング・システムにSDL_SoftStretch()でのクラッシュを固定しました。
UTF-8サポートなしでX11実装に未定義のシンボルを固定しました。
XFree86インテルのIntegrated Graphicsドライバーの上にXVideoを使用するときのBadAlloc誤りの周りで扱われます。
取り除かれたもの時に止まることの代わりにリナックスのすべてのジョイスティックのために、スキャンします。
sdl.m4でのsdl-コンフィグ議論の固定使用
【Windows注意】
ビデオドライバーが32のbppビデオモードより高く報告するとき、クラッシュを修理しました。
24ビットのOpenGLビデオモードを設定した後にデスクトップを復旧しながら、修理されています。
Windows95/98/MEに窓のタイトルを固定しました。
拡張マウスボタンのためにSDL_BUTTON_X1とSDL_BUTTON_X2定数を加えました。
引用されたコマンドライン議論のサポートを加えました。
【Mac OS X注意】
SDLは現在、Mac OS X10.5(ヒョウ)に建てます。
速成の意味ありげなテキストが入力した高周波を固定しました。
ESCキーが押されて、ユニコード翻訳が可能にされるとき、ビープを修理しました。
サポートをスクロールするtrackpadを改良しました。
あるジョイスティックを届け出るジョイスティック帽子を修理しました。
プログラムも専門領域だよな
その機械翻訳やばすぎるwww
>インテルCompiler10と共に建てるとき
build with ICC10かwww 「建てる」ってカコイイなw
265 :
名前は開発中のものです。:2008/01/15(火) 02:09:56 ID:VbpPlCwQ
なかなかお手軽そうですね。パフォーマンスはどう?
267 :
265:2008/01/15(火) 03:49:23 ID:VbpPlCwQ
>>266 ありがとうございます。
「スーパーファミコン風」を目指しているもので、
低解像度 (320×240) で 30FPS 程度のゲームを作るならば全く問題ないです。
解像度をあげると (640×480) ちょっと苦しくなるかも。
- Pentium M 1.6 GHz
- メモリ 512 MB
- 解像度 320×240
- 16×16 のスプライトを 200 個表示
で、最大 180 FPS ほどは出ました。
お、何か面白そう。時間取れたら見てみよう
RubyでSDL使うメリットが少ないからだろう
>>270 HSPみたいにRubyも裾野を広げたいって
Rubyの制作者が煽ってなかったっけ?
273 :
265:2008/01/26(土) 23:38:34 ID:7K5FvFGI
>>269 > ↓みたいのないの?
> Greenbear Laboratory - Ruby/SDLスターターキット
ないです。
ワンコマンドのインストーラーは作ったのでそれでいいかなと。
exerb は入っていないですが。
> 最近こういうの増えたけど今一つはやらないんだよね。。。
そうですね。
いろいろな人に使われるためには、クラスライブラリだけじゃ足りなくて、
なんらかのエディタが要るんじゃないかと考えています。
HSPってそこそこ小さいバイナリになるし同人も商業利用もOKじゃん
Rubyつかうとどうなんの?
HSPについてるエディタって大したことないし、その辺のがネックじゃないの
275 :
名前は開発中のものです。:2008/01/27(日) 06:23:09 ID:qj1DCFST
逆にHSPのエディタってたいしたことなさ過ぎてそれでやる意味自体薄いよな
むかしemacsのhspモードとかあったな
ってスレ間違えたごめん
277 :
265:2008/01/27(日) 07:20:29 ID:29xIjg2/
>>274 「そこそこ小さく」はないですが、 Exerb を使えばバイナリにはできます。
ソースコードがまんま exe に含まれてしまうので、
みられたくないならば暗号化などの工夫は要りますけど。
RPG ツクールの例を鑑みるに、商用利用は可能です。
278 :
265:2008/01/27(日) 07:32:18 ID:29xIjg2/
> HSPについてるエディタって大したことないし、その辺のがネックじゃないの
> 逆にHSPのエディタってたいしたことなさ過ぎてそれでやる意味自体薄いよな
コマンドプロンプトでの作業すら抵抗を感じる程度の初心者相手を想定しています。
エディタ自体の機能が重要ではなくて (むしろしょぼくてもよくて)、エディタの中で
- ゲームが作れる
- ゲームが実行できる
という安心感こそが必要と思いました。
と、書いている途中で調べましたが、吉里吉里や NScripter とかにはエディタがありませんね。
あると思い込んでいました。
やっぱり
>>269 のスターターキットみたいなのがいいのかなあ。
SDL の話から脱線してますね。すみません。
>>278 やっぱHSPの層狙うんならそれぐらい簡単である必要があるんじゃない?
もしくはrubyのダウンロード、インストールから
ちょっと画像表示して動かすまでの馬鹿丁寧なチュートリアルがあればいいんじゃねww
完全に説明通りの手順踏むだけでいいような
280 :
265:2008/01/27(日) 07:54:18 ID:29xIjg2/
>>279 > もしくはrubyのダウンロード、インストールから
> ちょっと画像表示して動かすまでの馬鹿丁寧なチュートリアルがあればいいんじゃねww
やっぱりチュートリアル書いた方がいいですよね。はい。今度書きます。
動かない・・・
画面が表示されてすぐに、エラーが出てとまります。
OSはwindows XP sp2です。
他に書くこと無いのか……?
エラー内容とかさ。
エラーメッセージ何もない。windowsのエラー報告が出てそれだけ。
284 :
名前は開発中のものです。:2008/01/27(日) 12:41:44 ID:Fw+7Z26U
>283
だからそれを書け
あとSDLのバージョンも
すいませんSDLスレだということを忘れてました。
上のはStarrubyの話です。Game.runをすると止まります。
286 :
265:2008/01/27(日) 14:50:15 ID:mFknEDZJ
>>285 使っていただきありがとうございます。
> 上のはStarrubyの話です。Game.runをすると止まります。
Ruby の例外が出ていて止まっているんでしょうか?
SEGV ですか?
質問の問答を始めるとスレ違いになるので、どこかに避難しましょうか。
Google アカウントをお持ちでいらっしゃるならば、
Google Group に書き込んでいただければ幸いです。
http://groups.google.com/group/starruby
287 :
名前は開発中のものです。:2008/01/27(日) 16:52:35 ID:dVQn3A77
色々なlibを使用しない、おすすめなWindow managerって
どれですか?
>287 板違いだが,あえてevilwmと言っておく
290 :
名前は開発中のものです。:2008/01/27(日) 18:16:39 ID:QJg0Oq/T
学校の課題で、Ruby/SDLを使ってゲームを作っているのですが、
コンパイル、実行しようとすると、次のようなエラーが出てしまいます。
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
/usr/lib/ruby/1.8/sdl.rb:220:in `open_imp': Couldn't open audio: No available audio device (SDL::Error)
from /usr/lib/ruby/1.8/sdl.rb:220:in `open'
from main.rb:34
オーディオデバイスに異常がありそうなことは分かるのですが、
解決法がわからず困っています。
サウンドデバイスが見つからないと言っている
なんかどっかで見たな、オイw
293 :
名前は開発中のものです。:2008/01/27(日) 21:04:37 ID:QJg0Oq/T
>>290です。
>>291 板違いかもしれませんが、どうやったらサウンドデバイスを認知してくれるようになりますか?
それに対し、こちらの環境で知りたいことがあれば、また載せたいと思います。
やっぱサンプルゲームが必要だよな
>>293 ここはお前の宿題を教えてやるスレじゃねーんだよボケ。
だいたい人にものを聞くのに教えてくださいも言えないのか?
困ってます?ああそう。
296 :
名前は開発中のものです。:2008/01/28(月) 00:58:49 ID:FafYnQx0
>>295 ここにきた私が間違っていました。
すいませんでした。
何が間違ってたのか分からないんじゃ、また同じことの繰り返しだぞ
そろそろ卒業のシーズンだし時間やばいんだろうなwww
プログラムと環境どっちが悪いのかわからんけど、
プログラム弄って回避する手段がないなら環境変えればよくね
sdl_Imageって、gifやPNG、jpgは読めるのに、icoは読めないのか。残念だ。
なんで?
icoのフォーマットは難しいのかね?
昔調べたと限りではすごく簡単なフォーマットだと思ったが…
確かbmpの中身みたいなのを複数詰め込めるような程度だった気が…
で、中身がbmpと大差ないのでSDL_imageでサポートするメリットもないだろうなぁ
305 :
名前は開発中のものです。:2008/02/24(日) 17:21:43 ID:jLQHb9sk
やっぱりSDLは過疎スレだよな
日本でSDLなんて使ってくれるのはRubyくらいか
そんで>286にランチャーとか言うのが増えてるよ
目指せHSPならRuby,SDL,Exerb,RDEとかのセットと
簡単ドキュメント+サンプルでいいのだろうけど
GUIがどうしようもないんだよな・・・まあこれはSDL関係ない問題かw
IronRubyとか.NETでよければ、それでいいのかな・・・
>>305 特に語るネタがないんだよ…
SDL自体に複雑な機能が存在しないから使える人は悩むことなく使えるし、
SDL自体がライブラリとしてすっかり枯れてるからAPIの変化とかもないし…
SDL 1.3とか2.0とか出ればまた違うんだろうがな
307 :
265:2008/02/24(日) 20:33:06 ID:0C7tpS33
>>305 286 の中の人です。
Ruby の GUI ライブラリはないわけではなくて、僕は ruby-gnome2 か Visualu Ruby のどっちか使おうかなと思ってます。
テキストエディタは、こちらで用意しなくても、各人好きなもの使ってもらった方がいいと思ったんですが、どうなんでしょう。
IronRuby だと C で書いた拡張ライブラリが動かないのが問題です。
308 :
305:2008/02/24(日) 21:21:35 ID:QRmerSZi
>>306 早くでるといいな・・・
>>307 駄文にレス有り難う。HSP基準で考えるとだけど、それだけで始められるセットがいいのかなと思ったの。
GUIはWindowsネイティブっぽい見た目が必要だけど、マルチOS対応にすると選択肢が微妙かなと思う。
エディタもF5押したらたとえ保存しなくても、実行して試せるみたいなHSP仕様(違ったかな?)だといいかなと。
普通の人ならメモ帳で始めたりするだろうし、Rubyに色分け対応したエディタは少ないから。
.NETは見た目がWindows標準になるから幸せに思えるのかな。
309 :
265:2008/02/24(日) 21:33:14 ID:0C7tpS33
>>308 > HSP基準で考えるとだけど、それだけで始められるセットがいいのかなと思ったの。
なるほど。
メモ帳 (か、ユーザーの好きなテキストエディタ) のプロセスをランチャー内で立ち上げられるようにすれば
いいかなと思ったのですが、こちら側でも用意した方が初心者は安心なのかもしれませんね。
メモ帳 + α程度のものだったら作れそうなので検討してみます。
シンタックスハイライトはきつそうです。
> .NETは見た目がWindows標準になるから幸せに思えるのかな。
そうですね。ネイティブ描画は重要ですね。
ruby-gnome2 はファイルを開くダイアログが萎え萎えなので悩んでます。
Visualu Ruby はネイティブ対応なのでその点安心でした。
wxRuby は、描画はネイティブなんですが、挙動が不安定なので見送りました。
.NET で (GUI) ライブラリを書いて、 Ruby (または C) から叩こうと思ったんですが、できるのかな。
RubyCLI というのがありますがまだ開発途中っぽいなあ。
310 :
265:2008/02/24(日) 21:34:23 ID:0C7tpS33
RubyCLR だた
.NETならIronRubyかな
.NET使うんだったらTao.Sdl通して全部C#使って書いちゃった方が楽で早くて速いけど
312 :
265:2008/02/24(日) 22:26:42 ID:0C7tpS33
>>309 わざわざエディタ作るくらいなら、RDEや適当なエディタでも付けた方が良さそうだけどね
個人的にはzip解凍したら、そのままRubyとStar Ruby(SDL)とIDE(エディタ)が使えるのがいいかな
チュートリアルとか大変だと思いますが、頑張ってください。期待しています。
あと.NETまぜるのならIronRubyでいいやは同意。
そういやYaneuraoSDK.NETも最近音沙汰無いよね
314 :
265:2008/02/24(日) 22:56:11 ID:0C7tpS33
>>313 > わざわざエディタ作るくらいなら、RDEや適当なエディタでも付けた方が良さそうだけどね
既存のエディタに上手に組み込めればいいんですが。
エディタを作ることはメインではないので程々にしようかと思います。
Eclipse プラグインとかは使いたくないしなあ。
> 個人的にはzip解凍したら、そのままRubyとStar Ruby(SDL)とIDE(エディタ)が使えるのがいいかな
なるほど。それを目指そう。
> チュートリアルとか大変だと思いますが、頑張ってください。期待しています。
ありがとうございます!
315 :
名前は開発中のものです。:2008/03/24(月) 20:10:47 ID:+bJeOZa0
あげ
もしかして、最近のSDLってstdout.txt生成されない?
もしそうだとしても、freopenしちまえばいいだけだからあんまり困らなくない?
Mix_LoadMUS_RWに使ったrwをMix_FreeMusic後にcloseするとアクセス違反で死ぬんだけど、
これはMix_FreeMusic内で解放してくれてるって解釈でいいの?
調べると「再生中も開きっぱなしにしないとマズいよ。再生終了後にcloseするのが正しいよ」って情報がぼちぼち出てくるんだが……。
デフォで実装されるようになってから仕様変わったんかな。
>>318 仕様上は Mix_FreeMusic() だけで問題ないはず。
でもすべてのフォーマットでちゃんと実装されているかどうかは知らない。
# Mix_LoadMUS_RW()ってどのフォーマットでも動くようになったんだっけ?
>>319 サンクス。
1.2.7でmp3に対応、1.2.6でOgg Vorbisに対応したいうようなこと(たぶん)がCHANGESに書いてある。
個人的にはoggで動くなら問題ないなーって感じなんで他の形式については知らない。すまん。
SDL_mixerでwavしか再生されないんだが。
サンプルプログラムを動かしてみたらmp3やoggが鳴らない。
SDLのバージョンは1.2.9、SDL_mixerのバージョンは1.30なんだが何故?
スマン。
SDL_mixerのバージョンは1.2.8だった。
その SDL_mixer に libogg や smpeg がリンクされていないんじゃない?
そもそもその SDL_mixer をどうやって手に入れたんだ?
324 :
名前は開発中のものです。:2008/05/16(金) 09:14:55 ID:DN6C+xLj
誰かネタ投下頼む
カーソル左クリックでスタートボタンを作りたいのですが、
SDLを使う場合Cではどんな風に書いたらいいのでしょうか?
326 :
325:2008/05/20(火) 10:36:27 ID:licslx6y
327 :
名前は開発中のものです。:2008/05/22(木) 08:58:50 ID:Tb+uR3WZ
イベント周りを調べてみれ
環境も書かずに書いてみるけど、
Uint8 *keys = new Uint8;
keys = SDL_GetKeyState(NULL);
(略
delete keys;
とかするとSDL_GetKeyState()でデバッガうまく動かなくね?
ステップ実行だとうまく通過するんだけど通しでやるとそこでプログラムが止まっちまう
デバッグでなく通常実行なら動くんだけど
で、どこでこんな書き方したのか探してたんだけどとりあえず↓にしたら正常になったからキニシナイ
Uint8 *keys = SDL_GetKeyState(NULL);
>>328 どう見ても動かなくて当然です。
C/C++勉強しなおしましょう。
それ以前の問題だよ
ポインタ勉強しなおせ
newする必要なんてない
しかも、そのnewしたやつは開放されてない
>>330 デバッグ版のほうが不正なコードに対するチェックきついんだよ。特にメモリまわりはね。
サンクスコ
だから動かなかったんですか
理由もわかったしデバッガとかのバグでなくてすっきりした
>>331-332 330の時点でその辺は分かってるyo
自分でもなんでこんなの書いたのかすげー不思議だ
SDL1.2.10以降でSDL_WM_SetCaptionに日本語を使うと文字化けしてしまうのですが、
2byte文字を化けないようにする方法はないでしょうか。
つSetWindowText
>>335 UTF8で渡せとかそういう話じゃなかったっけか?
ソースをUTF-8で保存してればできたような。(≒
>>337)
SDL_EnableUNICODEしないといけないんだっけ?
ソースをUTF-8ってか関数に渡すバイト列がUTF-8になればいい。
SDL_EnableUNICODEはキーイベントの振舞を変える関数だから関係ないはず。
そうでした、ゴメン
こっちこそゴメン…
あやまるから、もう一度やり直そうぜ!
342 :
名前は開発中のものです。:2008/08/22(金) 23:29:32 ID:a5tEqmFR
SDLに付属のサンプルプログラム testgl.c に関する質問です。
icon.bmpの周りの黒い部分を切り取った状態で、スマイルのみを
表示するように改造するにはどのようにしたらよいのでしょうか。
描画前に以下を追加すればよいとの情報がありましたが、うまくいきませんでした。
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glColor4d(1.0, 1.0, 1.0, 1.0);
そもそもこのbmpにはアルファ値が含まれていないのでしょうか。
bmpは普通アルファチャネル入ってないしょ。
今ならPNGあたりが妥当か。あとはTGAとか。
SDLなんだし、パレットからアルファチャネル捏造してもよさそうだな
>>342 -logocursor や -logo で出てくるicon.bmpのテクスチャだよな?
icon.bmp は 4bit カラーの DIB なんて当然アルファとか入ってない。
SDL_LoadBMP() で icon.bmp をロードした後に
SDL_SetColorKey(image, (SDL_SRCCOLORKEY|SDL_RLEACCEL),*(Uint8 *)image->pixels);
とかやって透過色を指定してやる。そうすると SDL_GL_LoadTexture()でアルファ付きの
テクスチャにしてくれるはず。そうした上で描画前に
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glColor4d(1.0, 1.0, 1.0, 1.0);
とする。あるいは、
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
とかでテクスチャの色でポリゴンの色を置き換ちゃってもいいかも。
>>345 できました!!本当にありがとうございました。
こんなことで2日ほど悩んでました。
ちなみに、このSDL_SetColorKey()で指定しているキーというのは、画像のはじっこの色を
指定している、という理解であってますか?
*(Uint8 *)image->pixelsが左上のピクセルを指してるので、その理解で合ってる。
SDL_MapRGBで任意の色を指定してもいいよ。
なるほど、ありがとうございました。
いろいろ弄ってみます。
あげ
SDLのKEYUP/KEYDOWNのエッジ検出というか変化した瞬間の検出する機能ってないですよね?
event.type
>>351 普通にイベント処理するか、ゲームみたいに扱うキーが少ない
なら自分で1フレーム前の状態を記憶しておくかじゃね?
サンクスコ
イベント処理ってのがよくわからなかった('A`)
ので、記憶させるほう作って終わしますた
bool isKeyboardPressAndRelease(int key){
Uint8 *keys = SDL_GetKeyState(NULL);
static int oldkeys[SDLK_LAST];
if(keys[key] == SDL_PRESSED ) {
oldkeys[key] = SDL_PRESSED;
return false;
}else if(oldkeys[key] == SDL_PRESSED ) {
oldkeys[key] = SDL_RELEASED;
return true;
}
return false;
}
sdl_ffmpegなんてものもあるんだな
ただmplayerで再生するより重くなっちゃうけど
よく見てないが出来るのはデコードだけなのか
エンコードも出来ればリプレイをそのままようつべにうpとか
夢が広がりまくりんぐなんだが
サイト消えてる?
アクセスできんね
復帰してる模様
Note: We've moved libsdl.org to new hosting and the mailing lists have not been restored yet.
This is a high priority and will be fixed as soon as possible.
Please report any other issues you find ASAP.
Thanks!
サーバ変更か
SDLも十分扱いやすいんだが、DXライブラリほどではないんだよな
ちょっとSDLのラッパー作ったらはやるんじゃないか?これ
マルチプラットフォームだし
SDLのラッパーなんて腐るほど出てるよ
Cスタイルで手軽に使えるのが特徴なんだから需要ないと思う
DXライブラリみたいにハンドルまで何でもかんでもint型でラップしないと使えないようなこともないし
勢いないから誰も居ないと思ったらROMがいるようで安心した
考えてみればSDL使うやつは自分でラッパー作るなりしてやってるな
SDL_gfxの日本語ドキュメントあれば教えてください。
ぐぐったけど無いみたいで…ソース読むしかないですか
365 :
名前は開発中のものです。:2009/02/07(土) 22:39:18 ID:bTB7pSPh
亀レスだけど初心者のSDLに少しだけかいてあったかも
OpenGL使ってゲーム作ろうと思うんだが
SDLとGLUTの違い教えてください
二つもAPI覚えてたら頭パンクしちゃいます。OpenGLでもうカオスなのに
367 :
名前は開発中のものです。:2009/02/16(月) 21:49:55 ID:xXiGjaIE
使ってる鳥を晒せ
教えるかどうかはそれ次第だ
OpenGL自体は計算しか行わないので、計算結果をディスプレイへ表示するためには
何か他のライブラリを使って行う必要がある。
SDLは画像の表示、音声の再生、(マウスやゲームパッドなど)入力機器のコントロールを行うためのライブラリ。タイマーやスレッドなどの機能も提供。
GLUTは画像の表示と、(マウスやキーボードなど)入力機器のコントロールを行うためのライブラリ。
ゲームを作りたいだけならGLUTは捨ててSDLに絞ればいい。
>>367 Ubuntu
>>368 ありがとう。とてもわかりやすかった
SDLとOpenGLでマルチプラットフォームなゲーム作りに挑戦するよ
370 :
名前は開発中のものです。:2009/02/17(火) 19:32:01 ID:YFalwF47
ごらんの有様
371 :
名前は開発中のものです。:2009/02/17(火) 19:51:58 ID:yVzrSt+7
Glutがあればティーポットが簡単に表示できるだろうが
ティーポットをキャラにしてゲームを作りたいなら両方リンクすればいいじゃない
>>371 glutがなくてもgluがあればティーポットは表示できる。
しかしゲームでティーポットだけの表示もないだろ
>>373 >しかしゲームでティーポットだけの表示もないだろ
ネタにマジレスすぎだろ…
あと glutWireTeaport() や glutSolidTeapot() で簡単に表示できるって話じゃないの?
マジかよ…
俺のこの5年は一体…
376 :
名前は開発中のものです。:2009/02/27(金) 10:02:33 ID:E56wit0d
SDL_LoadBMP で確保したSDL_Surface(1) と
SDL_CreateRGBSurface で確保したSDL_Surface(2) で
何か違うのかな?
それぞれscreenに表示する関数に渡した後、
(1)は描画されるのに
(2)は何も描画されない(アプリが落ちることもない)
関数に渡さず、どちらも確保した関数内で
screenにSDL_BlitSurface+SDL_UpdateRectした場合は、表示されるんだけどね
SDL_LoadBMP内ではSDL_CreateRGBSurfaceが呼ばれてるから本質的には何も違わない。
SDL_Surface構造体の中身を表示して比べてみればいいんじゃない。
ABAのようにSDLでゲーム開発していてオープンソースなところを教えてください
コード見て勉強したいです
SDL.NETで作ったソース公開されてるゲームないかな?
SDL.NET自体情報が少なくて、へたれな俺にはぴんとこない。
codezineでやってたのでやっと少し理解できたぐらいで。
できれば日本人が作ってるのがいいんだが・・・
>>379 海外か。やっぱ国内のは少ないのか…
見てみる。ありがとう
質問です。
SDL_DisplayFormatAlphaでα情報を持たせたSurfaceに
SDL_SetAlphaで全体α情報を付加させたいのですが
どうもうまくいきません。
これは仕様で出来ないのでしょうか?
そうですか…
何回やっても出来ないわけだ
素早い回答ありがとうございました。
SDLでフルスクリーンを使用するときに、使っているディスプレイでの最大の解像度(1680x1050)でフルスクリーンにしようとするとウィンドウ化、フルスクリーンを繰り返してしまいます
それ以下の対応した解像度(たとえば1440x900)では正常に表示されます
原因として何が考えられますか?
387 :
名前は開発中のものです。:2009/04/06(月) 12:16:57 ID:pBRyt7pq
>386
カメレスだが
OSはWindows?
下で動作してる古いDirectXが対応してないとか
こんなスレあったのか。これこそ俺が求めてたスレ
しかし過疎ってんな
まぁどの板も見てる人は同じだったりするんだがなー
pitchってなんなんだよ
サーフェスが内部で持ってるバッファの横幅のバイト数
主に効率の理由で、SDL_CreateRGBSurfaceは要求されたwidthより多めにバッファを確保することがある
そのためwidthとは別に、実際のバッファサイズpitchを提供している
大抵は
width * BytesPerPixels == pitch
になるんだがwidthが中途半端な値の時に行末にパッディングを入れて
効率よくアクセスできる様に行頭位置を調整したりする環境があったりする。
そういう環境では、
width * BytesPerPixels != pitch
になるんで座標(x, y)の値をpixelsから得るときなどpitchを使う方ようにする。
SDLで垂直同期待ちをするにはどうしたらいいのでしょうか
SDL_SetVideoModeでSDL_FULLSCREEN | SDL_HWSURFACE | SDL_DOUBLEBUFを指定してSDL_Flip()
できないです
>>397 環境が分からんけど OpenGL 使うなら
SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定する
401 :
名前は開発中のものです。:2009/06/27(土) 18:30:43 ID:sDHPm4PI
ローグライクのようなビジュアル的な計算が不要なゲームだと、
OpenGL使わずSDLだけでも十分って認識でおk?age
403 :
名前は開発中のものです。:2009/06/28(日) 00:08:39 ID:ywJLJ5bX
SDLの本が全く無いのがおかしいと思います
じゃあ書くしかないよね!期待してる
シンプルなのに本が必要って理解できない。
関数の説明とかサンプルがあれば十分だと思う。
言語を本を見て勉強する人も理解できない。
文法なんて数日で慣れるし、実際にコーディングした方が早い。
406 :
名前は開発中のものです。:2009/06/28(日) 00:37:11 ID:UHxRgRz6
実行ファイルに埋め込んだリソースのBMPを読み込むにはどうしたらいいんですか
SDL_RWFromMem と SDL_LoadBMP_RW で
プログラムの中でgzファイルを解凍して使うにはどうしたらいいですか
>>408 すいません。SDL_RWFromMemに与えるべき引数が分かりません。
VisualStudioでresource.rcという下記内容のファイルを作って、
RSC_BMP BITMAP "./test.bmp"
test.bmpを実行ファイルに埋め込むことはできているのですが、どうやって取り出したらいいのでしょうか。
え、そこから?
なら FindResource, LoadResource, LockResource で
実行優先度を設定する関数とかない?
今のところ窓でしか使ってないんだけど、
せっかくのマルチプラットフォームでWin32API使うの勿体無い('A`)
可搬性のあるやり方は未だ無いと思う
__WIN32, __darwin, __linux, __unix, __FreeBSD で場合分けするしか無いんじゃない?
415 :
名前は開発中のものです。:2009/08/02(日) 18:20:43 ID:jIK/N1/Y
結局そうなるよね。
マルチプラットフォームw
時々居るよね。意味もなく笑う人。
Winだと、printfとかが使えなくなかったっけ。
そんなことないよ
>>419 標準出力の内容がstdout.txtに書き出されるとかそういうのじゃなくて?
SDL_SetVideoModeを繰り返し呼んでも問題ないでしょうか
SMPEG_playで再生中の動画の現在の再生時間を得るにはどうしたらいいですか
SDL_getinfo()でできましたありがとうございました。
サンクスコ
とりあえず__WIN32のだけ適当に作るわ
_WIN32はあったけど__WIN32はなかったような
やけにCPU使用率高いなと思ったらSDL_VideoDriverName()の結果が"windib"でさらに
SDL_SetVideoModeの戻り値のflags見たらSDL_HWSURFACEがセットされてねえし。
ネットの情報調べたらデフォルトでwindib使うようになっててハードウェアアクセラレーション使いたかったら
opengl使えとか書いてあるしまじ糞ライブラリ
デフォルトでハードウェアアクセラレーションの効かないグラフィックライブラリ。
SDL_putenv("SDL_VIDEODRIVER=directx");やっても遅くなったし。。
>>427 ちょっとSDL_main.h辿ってたら
#if defined(__WIN32__)
だったからこのまま使ってるんだけど、
WIN32、_WIN32、__WIN32、__WIN32__とも動作するみたいだった
マウスがウィンドウの内部にあるかどうか判定する方法ありませんか?
ウィンドウの外にいくとマウスがクリックしたことになるので。
たまに
>>482 みたいな勘違い君がいますがSDLはグラフィックスライブラリではありません.
- 画面の初期化
- ジョイスティック,マウス,キーボードでの入力
- PCM出力
のためのライブラリです.
ってか昔Windows環境のデフォルトドライバは dirextx だったんだが
ちょっと前に windib がデフォルトになった.現状の SDL の directx ドライバ
ってDirectX 5 とかだしね.
今の directx ドライバ使ったとしても SDL_FULLSCREEN|SDL_HWSURFACE を指定して
かつ実際にハードウェアサーフェスになってなければただのメモリコピーだし速くもならない.
素のSDLのBitBlitで作るのはスーファミくらいのレベルのゲームまででそれ以上
やりたかったらOpenGLを使う.これ世界の常識.あとマルチプラットフォームに
興味ないなら最初から DirectX 直接使っておけばよい.
# SDL 2.0 とかになればこの辺の状況も少しは変るだろうけど…
OpenGLでやるにしてもSDLとOpenGLをつなぐ部分の資料を少なすぎてすぐいきづまるし。まじSDLは糞。
Linuxで2Dゲーム作りたい人くらいしか存在価値ない。winでやるならwin32api直の方がまし。
やっぱオープンソースは糞。人間は金が絡まないと本気にならないのだ。
testgl.cで十分だろ。
煽りのフリした教えてくんか糞が。
夏だな。
お前がな
いいや、俺が夏だ
あたしの夏を取らないでよ!
夏の荒らしさん乙です
あーめんどくせー
衝突検知用の画像作りたいんだけど、pngから透明部分以外を一定値として抜き出す楽な方法ない?
ってふと戻り値boolな関数でreturnさせたら0,1でちょうどいい具合だったのでそういう事にするチラシの裏
>> 443
一般的に言えばゲームとかだと画像通りの当たり判定を用意したりしないと思うが…
# まぁゲームとはかぎらないけど…
445 :
名前は開発中のものです。:2009/09/04(金) 18:38:35 ID:VrgUM9IL
>>443 Photoshop使用
またはlibpngを使用して自作、とか
陰影などで実際よりも大きくなってる絵の場合、
見た目より当たり判定が大きくなるのは嫌だな。
C++でゲーム作るならツール作成用にサブ言語覚えるのは必須だよな
448 :
名前は開発中のものです。:2009/09/04(金) 21:47:42 ID:VrgUM9IL
自分はツール作成にVB 2005使ってた
C++/CLI
悪いこと言わないから.NETならC#かVB使いなさい
451 :
名前は開発中のものです。:2009/09/05(土) 14:06:19 ID:6JitDinv
やっぱり VB 2005 + C++/CLI + アンマネージコード(SSE使用)
C++/CLIではアンマネージコードを含むことができるので、速度がきわめて重要な部分に使う。
まぁ、小物はスクリプト系(そのときの気分で言語色々、場合によっては秀丸マクロも)
GUIが必要ならDelphiを使ってる
本格的なツールって大抵は既存のフリーでまかなえるし、データ整形がメインだから
秀丸とUWSCで間に合うよな
453 :
名前は開発中のものです。:2009/09/05(土) 14:47:07 ID:6JitDinv
そしてさらに小物の場合はbashのシェルスクリプト
さらにさらに小物ならシェルスクリプトにせずbashシェルに長い1行で打ち込む
SDLの話題ないんだな
455 :
名前は開発中のものです。:2009/09/05(土) 16:13:51 ID:6JitDinv
SDL使いながら自前でソフトウェアレンダリングしてる人ってどれぐらいいるんだろ。
3Dのレンダリングのこと?ワイヤーフレームなら自前処理したことあるけど結構楽しいな
SDL/OpenGLは環境構築ややこしくて諦めたorz
今はいい解説サイト増えたからまたやってみようかな
3D目的でSDL使うメリットって何かある?
>>456 OpenGL つかえる環境作って SDL 使える環境を作ったら終わりだろ…
どこがややこしいんだ??
>>457 インタラクティブなことをしようとするならオーディオレイヤと入力レイヤを備えているのはメリットだと思うが。
OpenGLを表示に使いたいだけならglutなりgluxなり使えばいいわな。
460 :
名前は開発中のものです。:2009/09/12(土) 17:31:48 ID:0lmv1+mo
[GLUTを使用すべき場合]
瞬間的にウィンドウサイズを変更できるようにする場合。
簡単なプログラムをすばやく作成する場合。
[SDL+GLを使用する場合}
ウィンドウサイズを変更させたくない場合。
(ブルームエフェクトなどを使用する場合、ウィンドウサイズ変更時にエフェクト用の
バッファを割り当て直す必要がある)
音も鳴らす場合
gl系は画像読み込みがものすごく不親切だった記憶がある
前にビットマップファイル作ってヘッダ消して読み込むってやらせてたけど
流石にこれは俺が悪いよな
オッス、おらニート
サマージャンボで3億円当たっちまってボーっと遊びまくってらこのスレ見つけたわけだ。
おまいらどうやって生活費まかなってんの。後学のためにおしえてくんろだぺ。
あ、俺もう寝るから、明日でもえぇよ。じゃーねぃ。?x2665;
GLFWは前に試してみたけどlinux環境ではスタティックリンクできなくて
フォーラム見たら作者が仕様だと開き直ってたので捨てた
Win前提なら問題ないみたいだけどそれじゃGLFW使う意味半減だからなあ
最近は改良されてるのかもしれないが…
そこでgleeですよ
HSPでSDL_BlitSurface呼ぶとエラーになる
もうねるし
HSPからSDL呼んで何か嬉しいことってあるのか・・・?
ドンだけ寝てんだよw
OpenGLメンドくせーだのDirect3Dメンドくせーだの言うが
出来て損なことは何一つねえ
のだよ
偉い人にはそれがわからんのです。
もう諦めたし
WindowsにおけるSDLはDirectXを利用しているんだけどな。
DirectX5だっけか?
win32apiのラッピングライブラリじゃねえの
SDL+OpenGLでゲーム作ってます
ゲームの流れは
動作処理→描画→Swap→Delay
と
動作処理→Swap→描画→Delay
のどちらがよいのでしょうか?垂直同期待ちについてもよくわからないのでそこと包めて教えてください
二個目は動作処理→描画→Delay→Swapでした
連投申し訳ありません
映像信号は左から右へ1ドットずつ、それを上から下へ1ラインずつ送っているんだ
下まで送りきった後、また上から送りなおすまでに若干の準備期間があって
その期間が来るのを待つのが垂直同期待ち
描画が終わったからと言ってすぐSwapしてしまうと、
送信前と送信後の境目で映像を切り替えてしまうことがあり
ちらついたように見えてしまう
これを俗にティアリングと呼んでいる
垂直同期待ちをする場合はSwapの前に必ずDelayが入る
言いたいことは分かるけど476が勘違いしそうだな
SDL_Delayとティアリングが起こるかどうかは直接関係ない。
垂直同期待ちを有効にしてある場合はティアリングが起きないように
Swap時に自動的に内部で待機が行われる(
>>478のいうDelay)ので
描画とSwapの間にSDL_Delayを入れる必要はない。むしろ入れたら遅れすぎてしまうかも。
あぁそうだ。478で言うDelayはSDL_Delayのことじゃなくて、単なる待ち時間と捉えてくれ。
補足サンクス。
481 :
名前は開発中のものです。:2009/11/16(月) 17:42:23 ID:+8XK/sK6
>>476 Swap ってことはダブルバッファ使ってるって前提で言うと
1) 垂直同期待ち ON(SDL_GL_SetAttribute() で SDL_GL_SWAP_CONTROL に 1 を設定している)なら
SDL_GL_SwapBuffers() で自動的に垂直同期待ちするので SDL_Delay() などは必要ない。
処理→描画→SDL_GL_SwapBuffers()[自動でVBLANK待ち]
2) 垂直同期待ち OFF なら SDL_Delay() で適当な時間待って SDL_GL_SwapBuffers() を呼べばいいんじゃないだろうか。
処理→描画→SDL_Delay(適当)->SDL_GL_SwapBuffers()
1) はモニタのリフレッシュレート依存のフレームレートになる。
2) はティアリングするけど、自分でフレームレートの調整ができる。
ってとこじゃないだろうか。
ちなみに俺の環境(Debian) だと環境変数 __GL_SYNC_TO_VBLANK に
0 以外の値が入ってないと SDL_GL_SWAP_CONTROL に 1 を設定しても
垂直同期待ちしない。
質問ですが、
FR・LGのROMの0xF00000〜0xFDFFFFを
使っても大丈夫なのでしょうか
既出だったら申し訳ありません
SDL_FULLSCREEN で真ん中に寂しく表示される場合があ
るけど、同じ SDL 使ってて mplayer とかはどんな解像
度でもちゃんと画面一杯に出るのは mplayer が頑張っ
てるってこと?
>どういう理由であれ、ハードウェアによる解像度変更ができない場合は
>一段階解像度の高いモードが使われ、黒い背景の中央に表示ウインドウが置かれます。
だから、例えば最低解像度が640*480の環境で320*240を指定するとそういう状態になる。
確実に画面いっぱいに表示したければ、SDL_ListModesで作成可能な解像度を調べて
適切な拡大処理をすれ。
mplayerがどうしてるかは知らんけど、たぶんオーバーレイってやつだと
思うよ。SDL_CreateYUVOverlayで作れるけど、対応してればハード
ウェアで拡大してくれる。前にためしで使ってみたけど、色指定が面倒
だから使うのやめた。画面一杯に拡大しても、CPU使用率ほとんど
変わらないのは魅力的だったけど。
一番いいのは、ユーザーに選択させること。
こっちは800x600前提で作ってりゃいい
490 :
名前は開発中のものです。:2009/12/05(土) 09:27:44 ID:maU44PH4
491 :
名前は開発中のものです。:2009/12/05(土) 13:04:40 ID:xcDdDp0c
>>490 make CC=g++ CXX=g++ LD=g++
と打つと成功する可能性があります。
>>491 アドバイスありがとうございます。
コンパイルやリンクにc++の代わりにg++を使うようになったのですがエラーメッセージは変わらずです・・・
エラーを出力して調べてみたところ
Warning: This library needs some functionality provided by -lSDLmain.
I have the capability to make that library automatically link in when
you link to this library. But I can only do this if you have a
shared version of the library, which you do not appear to have.
と出ていました。SDLがリンクできていないのがエラーの原因のようですが上記メッセージと関係あるでしょうか?
ちなみにPATHを通したC:/MinGW/binにはSDL.dllというshared libraryがあります。
もし何かわかる方がいたらアドバイスください。
>>492 SDL のダイナミックライブラリが見つからないと言っている。
libSDL.a はスタティックライブラリ。
ああ、dll はあるのか。
>>490 に書いてあるパスとよく見比べてみろ。
…
497 :
名前は開発中のものです。:2009/12/27(日) 21:37:15 ID:E6vqQ5Mm
同じプログラムでSDLをダイナミックリンクしたものと、スタティックリンクしたものを作成したのですが、
ダイナミックリンク版ではコンソールへ標準出力されていたものが
スタティックリンクでは出ないような現象が発生しています。
SDLのリンク方法によってこういう現象は発生するものなのでしょうか。
また、リンク方法が原因である場合、スタティックリンクで標準出力へ出力する方法は
あるでしょうか。
498 :
名前は開発中のものです。:2009/12/28(月) 02:47:12 ID:Fq5F3Q16
>>497 標準出力に表示されない設定でコンパイルされたライブラリをリンクしてるだけでしょ
なんだこのデジャブは
>>498 1ライブラリが本体のソースの動作まで変えてしまうものなんですね。
勘弁してほしいものですが...
--enable-stdio-redirect
ですかね。試してみます。
でも現状ではファイルにリダイレクトされてるわけでも無いようですが...
makeしたら負けだと思う
正月早々審議中ですがな
floatに頼子だ割ったプログラムソースを目指す人のためのブランド「float志向」
SDL_MixerでBGMを任意の位置でループさせる方法はないものか・・・。
やっぱりSDL_Audioで作るしかないのかな
どうしてもSDL_Mixerでやりたきゃオーディオソースを切っちゃえばいいじゃん
どうせならOpenAL使おうぜ
SDL_WM_SetCaptionで日本語を表示したいのですがどうすれば良いですか?
最新バージョンだと文字コードがUTF-8だったと思うんで変換して渡せばいいはず。
変換の仕方はググって下さい。
変換の仕方がわかりませんでした。
IBMのICUを使おうぜ
512 :
名前は開発中のものです。:2010/02/21(日) 19:59:42 ID:ufBia+CD
変換できました。
UTF-8は可変長なのが糞。
SDLdoc-jp を置いている tacoworks.jp の管理人です。
サーバの移転を行うため、3/15 のあたりに DNS 情報の切り替えを予定しています。
ドメイン名自体の変更はないので移転後も
ttp://www.tacoworks.jp/software/SDLdoc-jp/ のURL は
そのままアクセスできますが、
切り替えの時期に一時的に見えなくなるかも知れません。
もしそうなったら申し訳ありません。
openglを使う時に最初の画面が真っ白になるのを回避できませんか?
できれば画像を読み込んで、いきなりそれを表示したいのですが。
515 :
名前は開発中のものです。:2010/03/04(木) 02:20:13 ID:UchClD6H
>514
もしかしてSDL_SetVideoModeしてから最初のSDL_GL_SwapBuffersを呼ぶまでの時間が長いんじゃないのか?
ファイルの読み込みとか
いえ、別に何もしていませんが、最初の一瞬だけ真っ白になります。
それが嫌なのです。
>>514 うちではならない。
再現する最小のソース書いてうpするか他のPCで試しても同じになるか試してみるか。
#include <SDL.h>
#include <SDL_opengl.h>
#include <windows.h>
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "opengl32.lib")
void End(); // 終了処理
bool PollEvent(); // イベント処理
bool Init();
SDL_Surface *gScreenSurface;
int main(int argc, char* argv[])
{
// 初期化
if( !Init() ){
printf( "初期化に失敗しました" );
return 0;
}
// メインループ
while( 1 ){
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
// 四角形を描く
glBegin(GL_QUADS);
// 描画色を白に設定
glColor3f(1.0, 0.0f, 0.0);
// 4つの頂点を指定
glVertex3f(100.0f, 100.0f, 0);
glVertex3f(540.0f, 100.0f, 0);
glVertex3f(540.0f, 380.0f, 0);
glVertex3f(100.0f, 380.0f, 0);
glEnd();
// 更新を画面に反映する
SDL_GL_SwapBuffers();
// イベント処理
if( !PollEvent() )break;
}
// 終了処理
End();
return 0;
}
// 初期化処理
bool Init()
{
// SDLの初期化
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )return false;
SDL_WM_SetCaption("test", NULL);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
// ウィンドウの初期化
gScreenSurface = SDL_SetVideoMode(640,480,32,SDL_OPENGL | SDL_HWSURFACE);
glOrtho(0.0, 640, 480, 0.0, -1.0, 1.0);
glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
glClear(GL_COLOR_BUFFER_BIT);
return true;
}
// 終了処理
void End()
{
// SDLの終了
SDL_Quit();
}
// イベント処理
bool PollEvent()
{
SDL_Event ev;
SDLKey *key;
while(SDL_PollEvent(&ev) )
{
switch(ev.type){
case SDL_QUIT:// ウィンドウの×ボタンが押された時など
return false;
break;
case SDL_KEYDOWN:// キーボードからの入力があった時
{
key=&(ev.key.keysym.sym); // どのキーが押されたかを取得
if(*key==27){// ESCキー
return false;
}
}
}
}
return true;
}
上のコードを試してみて下さい。
真っ白なウインドウが出てからちょっとしたら赤い四角形が出てくる
のですが、最初からいきなり赤い四角を表示したいのです。
>>521 OS: windowsXP sp3
コンパイラ: gcc version 3.4.5 (mingw-vista special r3)
コンパイルコマンド: g++ hogehoge.cpp `sdl-config --cflags --libs` -lglu32 -lglut32 -lopengl32
私の環境では初回起動時に一瞬、背景が透明なウィンドウが生成されてから、中身が表示されました。
二回目以降は最初から白の背景に赤い四角が表示されます。
通りすがり
OS : Linux 2.6.18-164.11.1.el5.centos.plus i686 i386
コンパイラ : cc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
コマンド : cc piyo.cxx `sdl-config --cflags --libs` -lglut
背景が黒のウィンドウができてから白の背景に赤の矩形が表示された
SDLがウィンドウ関連の処理にてこずってるようにも見える。
苦肉の策として サイズ(1 x 1) でウィンドウを作っておいてから
初期化が終わったあとでサイズ変更(or 作り直す)すると
まだマシかもしれない。
関係ないけど
>glClearColor(255.0f, 255.0f, 255.0f, 255.0f);
これ変じゃない?
画面上をクリックするゲームを作ってるんですが、
画面上でマウスカーソルを動かしまくるとイベントを受け付けないフレームが出てきます。
どうすればいいですか。
527 :
526:2010/03/09(火) 23:01:04 ID:SrDy9O7H
すいません。自己解決しました。
イベントキューからイベントを取り出してないだけみたいでした。
下のコード動かすと画像表示しないで画面が真っ黒になります。
イベントハンドラのセット(SDL_SetEventFilter(&filterEventsHandler);)
を画像転送の後に配置すると画像表示されるんですけど
そういうものなんですか?何かルールありますのですか?
以下ソース(D言語)
-----------
void main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_SWSURFACE);
SDL_SetEventFilter(&filterEventsHandler); // イベントハンドラ
// ビットマップ読込
SDL_Surface *image = SDL_LoadBMP("hell.bmp");
// 転送
SDL_BlitSurface(image, cast(SDL_Rect*)0, screen, cast(SDL_Rect*)0);
// イベントループ
bool done = false;
SDL_Event e;
while ( !done ) {
while ( SDL_PollEvent(&e) ) {
done = e.type == SDL_QUIT;
}
SDL_Delay(1000/30);
}
SDL_Quit();
}
529 :
528:2010/05/16(日) 18:22:50 ID:06+3luLg
SDL_Flip( screen );
したら表示されました。イベントハンドラ設定したら
プライマリサーフェイスがクリアされるとか・・・?
わからねえ
530 :
名前は開発中のものです。:2010/05/16(日) 18:29:59 ID:liwIcFmL
SDL_SetVideoModeのことろで、
SDL_DOUBLEBUFも指定しない場合、
SDL_Flip以外でも「誤って」画面表示される場合があります。
531 :
528:2010/05/16(日) 18:48:17 ID:06+3luLg
>>530 ありがとうございます。
逆に偶然表示されたって感じなんですね。
ウィンドウを最大化状態から、「元の大きさに戻す」をした場合に、
SDL_ResizeEvent が発生しないのは仕様なのでしょうか。
WindowsXP です。
openalで音出せなくて泣きそうになってたけど、
sdlでやってみたら何の苦労もなく音鳴らせた。
難しいものだな。
keysymの"sym"ってどういう意味ですか?
何かの略語でしょうか?
symbol
537 :
535:2010/06/17(木) 20:05:49 ID:/dRDvNuV
GUI(ボタンとか)で使いやすいLIBってどれでしょうか?
軽めのやつで
WindowsでSDL使っています
ウィンドウのタイトルバーをドラッグしてるときに
処理がとまらないようにするにはどうすればいいんでしょうか
SDLのソースを書き換えてWM_MOVEを別スレッドで処理すればできると思うけどオススメはしない
541 :
539:2010/08/17(火) 22:37:24 ID:Z5rRbYV4
亀で人違いだが
>>382 thx!
ほんとSDL.netって流行ってないなw
そんなもん俺ライブラリの一つに過ぎないんだから流行ってるも何も
SDLの人気の理由の一つとしてシンプルで簡単というのがあるけど
.NETは簡単にGPU使えちゃうからな
ブラウザ上で動く.NETのSilverlightなんかでもSDLとは比べ物にならないパフォーマンス出るんだぜ
DirectXやXNAの話か?
そっちの方が将来性あるしいいか。
古いバージョンのsdlが欲しいのですが…
MacOS9用のsdlが本家で見つかりません。
SDLのサイトが壊滅的に使いづらいのは仕様
548 :
名前は開発中のものです。:2011/03/01(火) 20:27:17.27 ID:wrZkViYa
SDLで日本語入力を実装したいのですが、SDL_inputmethod、SDL_textmanager、SKK
どれがついすやすいのでしょう?
懐かしいな、SDL。昔WindowsとMacOS9で同時開発しなくちゃならなくてこれも検討したな。
結局使わずにWindows用の自社ライブラリ移植したんだけど、どうして採用しなかったか
理由忘れちまった。
書き込みテストも兼ねて・・・
なんであまり普及してないんだ?便利だと思うんだが・・・
OpenGL使ってて、ゲーム作るならGLUTよりSDL!と言われてたのに
してなくは無いだろ
SDL.dllが同梱されてるゲームやデモは結構あるぞ
ここだけしか見てないんだろ
553 :
550:2011/04/09(土) 13:24:10.96 ID:0+0X4wI/
サーセンw
でもやっぱ資料が見つかりやすくはない・・
日本語にこだわるからかもしれんがorz
使うのが簡単とは言っても初心者にもおすすめって感じでは無いのか・・・?
更新が途中で数年止まってる入門サイトとか、リンク切れしてるサイトとかあったから
もう廃れたのかと思ってしまった
ライブラリの使い方(個々の関数の仕様)を知りたいのか、
SDLを使ったゲーム作りのチュートリアルを知りたいのかわからん。
555 :
550:2011/04/09(土) 16:52:40.30 ID:0+0X4wI/
両方ですがどちらかと言うと後者です
今までは検索すれば入門サイトが2つも3つも出てくる環境でやってたので
もしかしたら探し方が甘いだけかもしれんが・・・
自分が探してるのはSDL自体の使い方というより、
SDL(SDL_imageなども)とOpenGLで作る2D、3Dゲームのごく基本的な部分
例えば画像を読み込んでテクスチャにしたりとかそのあたり
関数の仕様等は調べられるけど、具体的で決定的な使い方がわからず
「これでいいのか・・・?」といった状態です・・・
「sdl_surface texture」でわんさか出てくるんで、確かにこれ探せないなら使うの辛いかもな。
557 :
550:2011/04/09(土) 17:42:33.83 ID:0+0X4wI/
本当だ・・・orz
558 :
550:2011/04/09(土) 18:26:07.67 ID:0+0X4wI/
いろんな例のサイトがありますが自分なりにまとめてみます
ありがとうございました。
連投ばかりスマソ
うーん、、、いっぱい検索して調べれば最後にはなんとかなるけど
やっぱ初心者が容易にとっつける物ではない感じ
わがままかもしれないが、もうちょい至れり尽くせりなサイトがあってもバチは当たらないとも思った
SDL+OpenGLはクロスプラットフォームで有望な選択肢だと思ったし、いつか自分でまとめたいと思った
>>559 一口に初心者といってもいろいろあるよね。
a. OpenGLのみ経験済み。SDLは初めて。
b. SDLのみ経験済み。OpenGLは初めて。
c. SDLとOpenGLそれぞれ個別に経験済み。SDL+OpenGLは初めて。
d. SDLもOpenGLも初めて。だけどゲームは作ったことがあります。
e. ゲーム以外のジャンルのプログラムは経験済み。
f. そもそもプログラムを作ったことがありません。
g. その他
バックグラウンドもわからずに初心者って言われると上記くらいは想像できるので、
まあ
>>550にはガンバレくらいしか言えないw
これは本当にありがたい、サンクスです。
GLUTなんて使ってゲーム作る人は
DirextXのときはDXUTを使うんだろうか。
GLUTって数値計算シミュレーションの可視化とかに使うもんでしょ
DirectXで2Dゲームなら素のままで十分いける
別にDirectXでシミュレーションしたっていいんだよ。
大学とかだと研究用PCがLinuxだからOpenGLの例が公開されてるだけで。
そういう時にToolkitとして使われるのがGLUT。
>564
久しぶりに言ってみるか。
お前は何を言っているんだ?
GLUTではウィンドウの移動ができたのに
SDLではなんでできないんだろう・・・
1.3からはマルチウインドウに対応するんだっけ
窓そのものをキャラクタに見立てたウザシューティングが作れるな
なるほど、thxです。1.3に期待。
だいぶ待ってるんだが、リリースいつになるんだろうなあ。
現状普通に使えるの?
>>571 つまり、現バージョンまでを一度も使用せず、次バージョンを待ってると?
安定版にしか興味がないならSDL 1.2一択かな。
SDL 1.3には1.2にない機能が入っているから、
それらに興味があるなら1.3を使い始めればいいと思う。
いや、1.2は使い倒してる
1.3はwarning under construction! とか書いてあるけど
やっぱどっか未実装だったりすんのかなあって
>>575 SDL 1.3を使ってSDL_imageをビルドしなおしているよね?
手元の環境で使う分には問題ないんだけど。
ごめん、
>>576はSDL 1.3とSDL_imageの話であって、
>>575のリンク先のチュートリアルをビルドしたわけじゃないです。
コンパイル済みのBinaryのを使ってましたorz
できればzlib・libpngのビルド→SDL_imageのビルド、libogg・libvorbisのビルド→SDL_mixerのビルドとか
長い手順踏みたく無いけどその場合は安定版のSDL1.2じゃなきゃ駄目かorz
そりゃそうかorz
SDL Perl を使ってゲームっぽいものを書いてみました。
けれどゲーム製作についてサッパリ知らないもので、
ある動作を実現するのにどんな定番なやり方があるのか知りたく思っています。
ゲーム製作初心者向けのサイトやドキュメントや書籍をご存知なら、
教えていただけないでしょうか?
581 :
579:2011/04/29(金) 21:22:57.78 ID:mtC0cwXi
SDL 1.3が正式にリリースされたら、そのバイナリ(本体とSDL_imageなど)の配布が始まるんでしょうか・・・?
今更だが
>>567 リサイズ時にスクリーン座標 100, 50 へウィンドウを移動させる:
SDL_putenv("SDL_VIDEO_WINDOW_POS=100,50");
リサイズ時にディスプレイ中央へウィンドウを移動させる:
SDL_putenv("SDL_VIDEO_CENTERED=1");
SDL1.2 の幾つかのビデオドライバのみの対応だけど
それと SDL1.3 正式版が zlib ライセンスになってリリース予定らしいね
583 :
567:2011/04/30(土) 10:16:14.24 ID:aGut9tJ0
ありがとう、試してみます。
1.3からはiPhoneやらandroidへの移植が可能になるみたいですが、
これもバイナリ配布で簡単に導入できるようになるんでしょうか
そこが気になって夜も眠れないorz
584 :
567:2011/04/30(土) 11:22:26.45 ID:aGut9tJ0
すいません考え方を変えます
粘着でスマソですがやっぱり情報が探せない。。。
VC使っててSDL_imageにlibpngをリンクする方法が未だわからないorz
どのサイトを見ても「pngを読むにはlibpngが必要」とだけ書いてあって
ビルド時にlibpngの存在をどう伝えるのかがわからん
SDL_mixerのoggも同じ
SDLで書いたコード見ると簡潔で初心者にもうってつけな印象だったけど
実際はやっぱりそうじゃないのか
android移植だっておそらくNDKだろうし、やろうとしたら導入で死にそうorz
ソースコード追えばいいよ
で終わらすのもあれなんで
SDL_image や SDL_mixer とかのソース内では #ifdef 使ってライブラリ利用を切り替えてる
SDL_image+libpng なら追加のオプションに
/D "LOAD_PNG"
を入れたり、
/D "LOAD_PNG_DYNAMIC=\"libpng.dll\""
なんて入れると VC++ が libpng の API を参照するようになるかもね
それとその iPhone やら Android やら DS への移植について
あれらは共有ライブラリの仕組みが無いから
否応無しに SDL をスタティックリンクしなければいけない
なので各開発者は自分の開発環境で扱えるように一からビルドする必要がある
開発環境ごとにスタティックリンクに必要なファイルは異なるわけで
余程優しい人が居なければバイナリ (ビルド済み lib ファイル等) 配布なんて無いかもね
587 :
567:2011/04/30(土) 14:56:43.56 ID:aGut9tJ0
詳しい答えをありがとうございます。
少しソースコード見てみます。
重ね重ねすみませんが、もし良ければこの質問に答えてください。
Android開発を今しているわけではないのですが、気になる事なので。
Androidは調べてみるとJavaからJNIでCを動かすようで、
結局 入力や音声はJava側でやるみたいですし(iPhoneはわかりません)、
スマートフォンの入力はパソコンのキーボードやゲームパッドと異なるので
そのまま移植というわけにもいかないと思います。
そうなると、SDL 1.3で謳っているこれらへの移植がどういった物なのかイメージが湧きません。
実際にはほとんど書き直す必要があるのでは?と思ってしまいます。
589 :
567:2011/04/30(土) 16:37:11.96 ID:aGut9tJ0
ほうほう、なるほど!ありがとうございました。
ということはマルチタッチ的に複数のMOUSEにも対応するのか?
まだやってないけどwktkしてきた
この度はサンクスでした!
590 :
名前は開発中のものです。:2011/06/04(土) 16:34:50.15 ID:k66UbPBd
上のほうでも書かれていましたが、確認させてください。
SDL単独では垂直同期はできないということですか?
590 名前:名前は開発中のものです。[] 投稿日:2011/06/04(土) 16:34:50.15 ID:k66UbPBd
上のほうでも書かれていましたが、確認させてください。
SDL単独では垂直同期はできないということですか?
SDL_Flipで同期待ちするかもしれないし、しないかもしれない
じゃあ、ミラーリングしといて
PageDownで4階層まで・他サイトを含まない・jpg,gif,lzhをDL
でDLできた。
infoseekもなくなって、COOLもなのか・・・貴重なページが無に消える・・・
貴重なサイトが無に消えるのは残念だけど、
だからといって丸々転載するのはどうなんかね?
転載するだけでもグレーなのにそれを編集するとか真っ黒だし
>>597みたいな意見もよくわかるけど実際どうするよ?
丸々転載は複製権、編集は同一性保持権にひっかかると思う
グレーなんて言い方してる所をみると著作権を知らないんだと思うけどどっちも真っ黒
現時点での判断基準はサイトに書いてあったこの文章がヒントになると思う
>なお、サンプルソースおよび私の作成したデータの使用には特に条件はつけませんが、
>著作権は放棄していません
>まぁ常識の範囲で自由に使ってもらって問題はないと思います
>私の作ったデータは自分のゲームに取り入れて使ってもまったくかまいませんが、
>フリー素材の場合は製作者のサイトなり連絡先なりで使用条件を必ず確認してください
まぁ、SDLはもともとゲームメーカーが開発して使っていたもので、今はGNU LGPLのオープンソースなんだけど、
そのあたりの肌感覚にあわせると「改良して公開するのは善」みたいな所もあると思うわけよ
そして2ちゃんねる的にもおまえのサイトは俺らのもの的な妙な一体感というか感覚があると思う
たしか作者ってここの住人だったよな?違ったらごめん、前スレ残してないからうろ覚え
プロフィールに2ちゃんがきっかけって書いてあったからこっちかム板のどっちかだとは思うけどな
一番確実なのは作者に連絡を取る事だけど、今までずっと放置されてる所をみると返事がある可能性は低いと思う
そんなわけで俺一人でどうこう考えても仕方ないのでおまえらがどう考えてるのか聞きたい
ちなみに俺は別にいいんじゃねーのという考えです
>>597が転載ならグレーゾーンになると考えているなら、ミラーリングしたアーカイブをアップローダに置いておくのが
落としどころになると思っています
丸ごと別サイトに置いてもいいけどな。
うだうだ言う前に作者には連絡したんだよね?
一応説明しないとわからないと思うのでしときますが
連絡していつまでに返事がなかったらどうするとか
それまでに保全どうするのとか
連絡するならするでどんな条件で誰が保守するんだとか
そのあたりも含めた相談です。
ちなみに私は面倒な展開になったら手を引くつもりなので
皆を巻き込んでおこうという腹なのですが
>>599さんは
SDLに興味はおありですか?
ちなみに変な物アップしたらwiki管理人に迷惑かかるんじゃねーのとかも
懸念してはいたのですがよく見たら私の文章が勝手にいっぱいコピペされてるので
そのあたりはもう気にする必要はないよね、お互い様なんだからって感じです(怒ってるわけじゃないですよ、念のため)
というかコピペするだけしといて、コピペブログするなとかいって荒らしてるのはおまえらですか?
あまりの手法にガクブルでしたよ
というわけでそろそろ返事は貰えましたか?
>>599さん
602 :
599:2011/06/18(土) 22:25:31.83 ID:zWKUaI9x
返事来たヨ。
転載、改変自由だってさ
じゃあ早速作者の名前を改変するとするか
別に得もないだろうにww
出版社から「本を出しませんか?」と声がかかったときに重要じゃないか!!!
607 :
名前は開発中のものです。:2011/07/07(木) 21:41:13.32 ID:ubCa0/LA
ライターで食っていけるほど売れると思ってんの?
どう解釈したらそう読めるんだ……
macで使ってみたいんだが……
フレームワークとテンプレートをコピーしてxcodeで立ち上げるまではいくんだけどそこで
syntax error before
no such file or directory
で11のエラーが出る
初心者丸出しで悪いけど誰かアドバイスしてくれないだろうか
とりあえず,ソースコードとコマンドラインを張ろうか
SDLとコンパイラのバージョンがあればなお良し
ってか,パスが通ってないように思えるが
611 :
609:2011/07/21(木) 18:58:12.08 ID:OIUGqo0i
自己解決しました
アホみたいな見落としだった……
どう自己解決したのか書け
パス通してなかったかフレームワークを置いてなかったか。
614 :
名前は開発中のものです。:2011/09/04(日) 21:28:12.42 ID:jgG8htUt
もう皆さんは、SDL-1.3で開発してるのですか?
いや、古いまま
別に困ってないし・・・
1.3って何か新機能あるの?
>>614 SDL 1.3を使っていますよ。
>>615 ttp://wiki.libsdl.org/moin.cgi/Introduction > Full 3D hardware acceleration
> Support for OpenGL 3.0+
> Support for multiple windows
> Support for multiple displays
> Support for multiple mice, tablets, etc.
> Force Feedback available on Windows, Mac OS X and Linux
他にも細かい機能追加や仕様変更はあるはず。
ただ、SDL 1.3でサポートを打ち切られたプラットフォームもあるから、
SDL 1.2じゃないとダメという人もいると思う。
Nintendo DS向けのコードとか入ってるし、ML見るとiOS向けにがんばってる風もあるよね1.3。
iOS向けはRotation周りで苦戦してるっぽかったからまだ実用できないと思うけど。
> Support for multiple mice, tablets, etc.
ちなみにtabletsはIntuosとかの話かと思いきや、コード見ると
wintab(いわゆるWacomのペンタブ)じゃなくてタブレットPCの話だったぜ。
添付のプロジェクトファイルだとVC++がSDL_gfx.libを作ってくれないから
マクロをBUILD_DLLからDLL_EXPORTに書き換えて解決
過疎ってるみたいだけど質問です
Win7 64bit + VS2010 C++ ExpressでSDL1.2.14-1を使っています。
この環境でSDL_PollEventを実行すると以下の様なエラーが出て困っています。
'hoge.exe': 'C:\Windows\SysWOW64\RpcRtRemote.dll' を読み込みました。Cannot find or open the PDB file
hoge.exe の 0x75cfb9bc で初回の例外が発生しました: 0x000006F4: NULL 参照ポインターがスタブに渡されました。
色々ググって見ましたが解決方法がわかりませんでした。
とりあえずリリースビルドでやってみればいいんじゃね
>>620 リリースビルドでも出るんです
例外が出ているけどストップさせなければ問題なく動いている(ように見える)んですが
出来れば解決したいところです。
尚、PollEvent以外のイベント取得系の関数でも同じエラーがでるようです
あ、もう一つ情報ですが
デバッグでステップ実行すると例外は発生しないようです…
とりあえず原因はわかったので追記です
SDL_ACTIVEEVNETが発生すると例外が飛ぶようです
解決方法はまだわかりません。
解決したので報告です
関係ないと思って書いてなかったのですがSDL_mixerを一緒に使っていました。
で、SDL_mixerの初期化(Mix_OpenAudio)を
SDL_Initの後に呼び出すとSDL_Initで確保したメモリの一部が破壊されてしまうようです
Mix_OpenAudioの後でSDL_Initすると問題は解決しました。
詳細は不明ですがとりあえずこれで進めてみます。
レスくれた方ありがとうございました
SDLの周辺ライブラリが一斉にアップデートされた。
SDL_image 1.2.11
SDL_mixer 1.2.12
SDL_net 1.2.8
SDL_ttf 2.0.11
各ライブラリがzlibライセンスへ移行した。
朗報だなあ。これで1.3使う意義がぐっと増したと思う。
ライセンスだけのアップデートって訳じゃなくて、結構いろいろ変更点あるみたいだし。
SDL_ttfに「欧文以外についてキャッシュを改善した」って書いてあるっぽいが
パフォーマンスよくなってるのかしら。
628 :
名前は開発中のものです。:2012/01/24(火) 19:10:54.40 ID:JpgEbc/h
WindowsだとHWの恩恵をうけるには3Dで作成しないといけないのねぇ
2Dゲームなのに....3Dで作りなおそうかな
1.2 が zlib になったのかと思った。
結局、1.3 から変わるんだよな。まだ stable じゃないみたいだが
>>628 SDL 1.3は2D描画にDirect3DやOpenGLを使用可能なので、
3Dのアクセラレーションが効けば
SDL 1.3を使うだけでもとりあえずは速くなる、はず。
>>629 SDLの周辺ライブラリは特にバージョンを1.3とかに引き上げる様子がないから
現状のままライセンスのみSDL 1.3に合わせたんじゃないかな。
1.3でデバイスロストってどうしたら検知できる?
あと、SDL 2.0からSDL 1.2互換APIが削除されたようだ。
test以下の古いAPIを使ったサンプルもいくつか削除されている。
動いてるなって感じだ。
思いがけずスレのタイトルと一致したな
ウィンドウの生成とサウンド部分にのみSDLを使用したいのですが、
その場合、普通に生のGL描画関数を直接使えるでしょうか?
SDLでラップされてる?描画関数を使わないって事ですが。
>>636 前半の最後の行間違えた。
SDL_GetError()は"Present(): DEVICELOST"という文字列を返す、です。
638 :
635:2012/01/26(木) 09:36:47.17 ID:GkYk9Qvu
>>636 まさにこういう事でした。ありがとう
SDL1.2だとOPEN_GL3以降に対応してないとか、どっかでちらっと見たような気がしたので
完全にGL関数がSDLにラップされてて、いちいち経由しないと
使えないようになってるのかと勘違いしました。
>>636 わざわざソースまで追ってもらって申し訳ない。ありがとう。
でもSDL_RenderPresentって返値voidなんだよなー。
他の関数は失敗したら0以外を返すからGetErrorで調べろ、みたいな感じなのになんでこれだけ、という気がする。
Presentが失敗する環境が少数派(Direct3Dだけ?)なのか。
>>639 SDL_RenderPresent()の戻り値はvoidだけど、
内部ではIDirect3DDevice9_Present()のエラーチェックを行なってて、
かつ実際にエラーが起きたらSDL_GetError()が返すメッセージを設定している。
なのでデバイスロストが起きたらSDL_GetError()で拾えるはず(良い方法ではないとは思う)。
ただ、D3Dレンダラのソースを読むと、ちまたのデバイスロスト関連記事にあるような
リソースの破棄だとかその手の処理がなくて、単に無視しているように見える。
この振る舞いが正しいかどうか分らないけど、実際困るようなら開発者に働きかけるのが良いと思う。
ラップなんかされてねーYO!
アハ
カモ
イエ
(ここでフレミング右手の法則、の手)
642 :
635:2012/01/31(火) 13:51:33.82 ID:cOxKEvGx
OpenGLにはデバイスロストなんてないのに
なんでDirectXにはあるんですか?
643 :
635:2012/01/31(火) 13:52:09.40 ID:cOxKEvGx
誤爆スマソ
SDL_Surfaceを任意のピクセルサイズ(たとえば64x64)で生成するのは、SDL_CreateRGBSurfaceを使うしかないのでしょうか・・・
スクリーンサーフェイスはグラフィックボードとAPIが対応してるものしか出来ないのは
当然ではないか。
OH shit
SDL_CreateRGBSurface を使いたくない理由をはっきりさせてからじゃ
ぐは、3D化するのめんどいからglTexSubImage2Dで手抜きOpenGL対応したら
さらにおそくなった。まあわかってたけど真面目にやろう
うーむ・・・SDL_gfxやSDL_rotozoomを使わずにスクリーンの拡大に挑戦しているが、なかなかうまくいかないな・・・
650 :
名前は開発中のものです。:2012/03/23(金) 08:37:57.68 ID:8kK9QIzC
SDLと相性がいい。OpenGLラッパーってありますか?
拡大縮小回転とかやりたいだけじゃないの?
うん、俺も知りたい。gfxは出来がいいとは思えない
つーかソフトウェアでその辺やろうとすると重すぎてきついよね
654 :
名前は開発中のものです。:2012/03/25(日) 09:16:56.07 ID:DwbxEXxs
>>651 レスありがとうございます、やはり3Dエンジン使ったほうが簡単に作成できますね
でもそうなるとSDL使う必要ないToTような。
SDLは2D専用とて使用していきます。
というかSDLの利点って音声と入力のAPIがポータブルなところだろ
それと、簡単な何かを作るのには手軽ってこと
「簡単に何かを」じゃないからな
ポータブルで最速なら面倒でもいいんだけどな
Mac SnowLeopard&Xcode3からLion&Xcode4に変えたら
"ld: symbol(s) not found for architecture x86_64"
と出てbuildが通らない・・・
SDLは-arch i386 -arch x86_64付けてmakeしたんだけどな。
もはやお手上げ\(^o^)/
そこは「俺が対応させてやるぜ!」だろJK
660 :
658:2012/07/07(土) 14:35:19.27 ID:fbcDecSX
もう、どうにもならんしよく考えたらSDLあんまり必要ないことに気づいた
OpenGL+glut+OpenAL+Freetype2+libpngでやります。
じゃあglutもいらんじゃん。
各種イベント(キーボードとかマウス)は欲しいです(^q^)
あと、ObjectiveC全然わからんです。
基本OpenGLの各種ライブラリでやってるんだけど、
画像ファイル読み込みと音声処理のためだけにコレ入れるのってアリ?
それだけなら別にSDL使わなくてもって感じはするかな
音声処理->OPENAL
画像->libPNGなど
キー,ジョイスティック入力->各OSのAPI
でいいよ
666 :
名前は開発中のものです。:2012/07/29(日) 12:24:00.39 ID:/jUwKVxL
>>663 画像もOSGとかエンジン寄りのライブラリなら複数対応している気もするが。
そういえば以前SDL1.2系ベースで作った自前フレームワークも
ゲームループとキー入力、OpenGL2Dテクスチャ位しか機能無いな。
glutの代わり程度には成るので、
SDL_opengl.hを1.3系のに入れ替えてOpenGL3.0環境にして、
http://www.arcsynthesis.org/gltut/ ↑のサイトのチュートリアルを移植して勉強中。
2.0でSDL_RenderCopyExで回転できることそれだけで嬉しい
2Dのゲームは作りやすくなったよね
669 :
名前は開発中のものです。:2012/10/22(月) 18:57:55.03 ID:a6TI6HPh
なんてことだ ここはウインドーズ板だったのか
>>671 素直にソースコードもよこせって言えばいいのに。
>>670 よくできてんなー
5970点付近に俺の限界があるわ
簡単にゲーム作ろうってなるとWindowsだと選択肢たくさんあるけど
その他民だとSDLが一番手軽感あるな
>>673 Windows用のゲームをLinux上で作りたかったからSDLを選んだよ
規模が適度に小さいので覚えること少なくていいわ
そのぶん自分で色々つくんなきゃいけないけどねw
Linuxでゲーム遊ぶ層いるの?
MessageBoxが入ったか
地味に欲しかったから結構助かるわ
まだちゃんと見てないけどGameControllerとかできたのね、wikiは追いついてないみたいだけど
CMakeにも対応してきてるし、そろそろ2.0くるのか?
hg最新版でプラットフォームにPSPが追加され、代わり?にDSサポートが削除された。
この手の自作ソフト(homebrew)勢ってよく知らないんだけど、需要あるんだねえ。
ほんとだ、DS無くなったんだな
DSはハード考えると直接叩いた方がいいだろうし使ってる人少なそうだしな
SDLサポートしとけば各種エミュがすぐ移植できそうだし
結構需要はあるんじゃないかな、ユーザー層的に
SDLの関数を使った画像や音声の読み込みって別スレッドから呼び出しても平気?
画面Flipしながら別スレッドで読み込めたら最高なんだけど。
ネットで検索しても全然出てこないから、俺が見逃してるだけだったら教えてください・・・。
でも流石にDXライブラリみたいな非同期読みこみが用意されてるなんてありえないよね
>>682 SDLのBMPやWAVの読み込みだけならファイルを開いて読み込んで閉じるだけだから問題ないと思う。
あと非同期関数は無かったはず。
SDL_imageやSDL_mixerについては知らない。
というか、画像や音声の読み込みを別スレッドで行うと起こる問題ってなんだろう。
ファイル読み込み処理が使用するメモリをグローバルで共有してたりするとか?
読み込みだけなら競合も関係無さそうだし。
正直どういう実装になってるか次第なんだろうけど別スレッドでSDLの命令は呼ぶなってマニュアルに書いてあるよ
Surfaceだとビデオメモリ使ってたりしたらまずいだろうし…エラーメッセージとか確実に取る方法がない
SDL2でテクスチャ周り実装した時は、画像読み込み展開を裏でやってメインスレッドでテクスチャ変換って処理書いた
裏で読まなきゃいけないほどのデータ量作ったことないけどねw
685 :
>>682:2013/05/31(金) 16:22:03.41 ID:TZwEBH6F
ありがとう〜
正直俺も裏で読むのが必要になるくらいのデータ量は作ったことないから
とりあえずそのままでいきますかね
686 :
名前は開発中のものです。:2013/06/05(水) 08:22:21.26 ID:oaoaq5da
@kk
687 :
名前は開発中のものです。:2013/08/24(土) NY:AN:NY.AN ID:GUFtQ+rv
SDL2.0がリリースされたのに過疎ね・・・
マジで!?
正直、どうでも良い気がしてるなぁ。
なんか、SDLに新しい事は求めてない。
SDLを使うときはそれなりの時で、
結局はそれなりのフレームワークやミドルウェア使うんだし、
と思ってしまう。
まぁ、それよりもC#なりPythonのバインディングあります!!とか
言われても、既にそっちならOpen Sourceで楽で一通り評価の通ったのがあったりで、
2.0来るのが2年ぐらい遅かったと思うわ。
今更感が。
実際2.0なるの大分遅れたんだっけ
androidやiphone対応ついでにいろいろ見なおしたーって思えば悪くは無いと思うけどね
便利だとは思うんで地味に使われるんじゃね
地味〜に変わったところで、IME対応とかあるよねぇ
ちょっと毛色の違うアプリが出てくるかな?
おーRC版お試しして以来放置してたけど、正式リリースされたんだ?おめでたい
しかしもう時代的にアレだなぁ、ライブラリのみのエンジンってめんどい・・・。
ただただゲームを作りたいだけなら、もうエディタとかGUIな開発環境と
リンクしてるような言語やスクリプト使えばいいやってなる
技術力向上のための練習と考えても良いけど、ライブラリじゃ中途半端だよね
SDLのソースコードをビルドして導入するあたりがピークな気がする
SDLの2Dレンダラと併用できそうな3Dライブラリってないかな
デバイスの違いを意識せずに書けたらいいんだけど
OpenSceneGraphは無駄にでかくてちょっと敬遠してる
SDLでカメラに貼りつくオペレーション部分作って
別ので3Dモデルを描画したいって意味?
遅まきながら2.0がリリースされていた事を知って触り始めたんだが……
オフラインにダウンロードできるAPIドキュメント一式って無いの?
手元のFreeBSD+OpenGL環境でも動くには動くんだがいくらなんでも公式サイトは手抜き過ぎではないかと。
Wikiはみましたか
697 :
695:2014/02/18(火) 17:58:20.79 ID:zTblNXQN
>>696 レスどうも。Wikiは当然目を通してるよ。
その上でドキュメントの充実を公式もWiki任せにしないで欲しいって発言だったんだけど。
まあソースにdoxygen形式のコメントが付いてるのは後にないて気づいたんだけど。
それにしても思ったよりレンダラ周りのコードが綺麗でびっくりしたわ。
綺麗というかほとんど何もしてないだけでは
どーでもいいが、frameworkで1つの単語だぞ
連投してたスマン
>framework
と言うか、配布ファイル名とプロジェクト名が合ってなかった...
引数が日本語とか初めて見たわ・・・
SDL_BlitSurfaceって遅くない?
SDL_Render使わないと速くならないのかな
705 :
名前は開発中のものです。:2014/05/04(日) 22:08:50.83 ID:NzBKdp5S
gfxのrotozoomSurfaceがうまく機能しないんだが
SDL2でやるんならSDL_Renderer一択でしょ
SDL1ベースのソースを使いたいなら話は変わるかもしれんが
>>706 やっぱりそうか。
SDL_BlitSurfaceは手軽だからとりあえず使ってみたけど、ちゃんと作るならかえないといけないな。
さりげにSDL2.0の日本語リファレンスマニュアルが公開されてるじゃん。
使ってみようかな。
最近公開されたのか。俺も触り始めるかな。
710 :
名前は開発中のものです。:2014/07/04(金) 09:58:25.05 ID:QXQVNVbZ
IME対応に喜んで、SDL2にしてみたけど
けっきょくIMM APIつかわないとあかんのね。ん〜なんか使い方間違ってる?
ウインドウが干渉しあったりポップアップがとんでもないところに出たりしないなら
対応といえるんじゃね
それすら出来てない人気アプリもあるべ
SDL2とSFML比べるとどうなんだろう
OpenGL叩くならあんまり違いないのかな
713 :
名前は開発中のものです。:2014/08/11(月) 10:00:07.29 ID:1F5mOEV/
前のSDLのページには、他の人が作成したlibがありましたが
あれどこにあるのでしょうか
714 :
名前は開発中のものです。:2014/08/14(木) 01:22:06.56 ID:McYBYG45
SDLの情報まとめたサイトってもうない感じ?
なんで今更使いたいの?
代わりに使えるのあんの?
あ?
なんでこれ日本で流行らないの?
俺も使ってないけど
他の便利なもの使ってるんじゃない?
そもそも日本以外では流行ってるんだっけ
そもそもフレームワークをフルスクラッチで書く人間があまりいないからじゃね
本物のプロが使うものであって流行る=素人にウケるものじゃない
プロは社内ライブラリがあるだろう。
音も個別の物を使う
723 :
名前は開発中のものです。:2015/02/07(土) 23:53:50.67 ID:0ugVkc8N
SDL_TextInputってAndroidでも使える?
試してみて結果教えて
ググったら出てきたとか書いた方がいいのかな・・・(´・ω・`)