[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2ch.scのread.cgiへ]
Update time : 04/06 14:16 / Filesize : 213 KB / Number-of Response : 815
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

SDLスレ ver.2.0



1 名前:名前は開発中のものです。 mailto:sage [2006/02/28(火) 20:40:12 ID:MvXDyxzs.net]
マルチプラットホームな汎用ゲームライブラリの
SDLについてのスレッドです。
最新情報、参考になるソース、質問等なんでもどうぞ

本家
ttp://www.libsdl.org/

SDL_mixer ttp://www.libsdl.org/projects/SDL_mixer/
SDL_image ttp://www.libsdl.org/projects/SDL_image/

SDLdoc-jp ttp://www.tacoworks.jp/software/SDLdoc-jp/
GamDev ttp://gamdev.org/w/?%5B%5BSDL%5D%5D
初心者の初心者による初心者の為のSDL ttp://tokyo.cool.ne.jp/sdl/

前スレ
pc8.2ch.net/test/read.cgi/gamedev/1005469181/

110 名前:名前は開発中のものです。 mailto:sage [2007/06/20(水) 18:50:29 ID:Ba36Kmwq.net]
GUIで文字列を入力したいんだけど、SDLにそんな機能はないよね・・?


111 名前:名前は開発中のものです。 mailto:sage [2007/06/20(水) 20:24:09 ID:ZRitVBXq.net]
>>110
GUIで入力って意味がよくわからないけどドラクエ入力みたいの?
それともGUIウィジェットのテキストエリアにIMEで入力するような話?
# どっちにしろSDL本体にそんな機能はないけどね…

112 名前:名前は開発中のものです。 mailto:sage [2007/06/20(水) 20:29:19 ID:Ba36Kmwq.net]
>>111
抽象的でごめんなさい、後者の方を想定してた(テキストボックスにサーバのアドレスを入力して接続)
ちょっと他の方法を模索してみます。

113 名前:名前は開発中のものです。 mailto:sage [2007/06/20(水) 21:12:02 ID:PmWfDcAZ.net]
>110
SDL用のライブラリを探せばそんなのもあるんじゃないですか?
と、無責任なことを言ってみる

114 名前:名前は開発中のものです。 mailto:sage [2007/06/20(水) 23:46:59 ID:qXRH/CQ6.net]
SDLSKKってのがあるっぽいけど110氏の用途に合うかどうかは
よく分からんかった。

115 名前:名前は開発中のものです。 mailto:sage [2007/06/21(木) 00:11:37 ID:4XHgLQnI.net]
SDLスレはなんて良スレなんだろう!ほかのスレときたら…

116 名前:名前は開発中のものです。 mailto:sage [2007/06/21(木) 01:31:54 ID:iGTpibFe.net]
>>110
アドレスならASCIIコードの範囲で収まるから自前でキーコードから
入力させてもすぐできると思う。でも楽したいならSDLベースのGUIライブラリが
あるから適当なのを探してみるといいよ。

117 名前:名前は開発中のものです。 mailto:sage [2007/06/21(木) 01:34:13 ID:iGTpibFe.net]
これがチャットしたいからIMEで日本語入力させろとかだと一気に大変になって
SDL_inputmethod や SDL-IM みたいなライブラリを使うことになる。
- sdlinputmethod.sourceforge.net/
- sdl-im.csie.net/
ちゃんと動くか知らないけどね

118 名前:110 mailto:sage [2007/06/21(木) 06:42:06 ID:OnHGIEGo.net]
>>114
これは良さそうです、もっと調べてみます
>>116-117
確かにすぐに実装できそうですね。ライブラリに逃げて、上手くいかないようでしたら
自前で作ってみることにします。

わざわざ調べていただき、ありがとうございます。

よっしゃ!頑張ろう!



119 名前:名前は開発中のものです。 mailto:sage [2007/06/21(木) 15:01:20 ID:6q6GamvA.net]
頑張ってら〜

120 名前:名前は開発中のものです。 mailto:sage [2007/06/22(金) 18:48:10 ID:MmYGeHUF.net]
Qt辺りも使えるんじゃね?

121 名前:名前は開発中のものです。 mailto:sage [2007/06/27(水) 10:40:28 ID:GIiKAn2i.net]
>>103-106
ソースも必ず同梱しないといけないのかと思ってましたが
意外と自由度があるんですね…
readme.txt にURL書いておくのが簡単そうでいいですね

122 名前:名前は開発中のものです。 mailto:sage [2007/06/27(水) 22:10:17 ID:cdTBu0vW.net]
>>121
> readme.txt にURL
おれも最初それが楽そうかな?とか思ったんだが、
一次配布元が移転してたり、もっとひどいと無くなってたりして、
さらに自分も当時のバージョンを手元に持ってなかったりする状態の時に
「ソースくれ」と言われたらやっかいだなぁ、とか思ったのでやめにした記憶があるんだぜ

まぁ、心配しすぎなだけかもしれないが

123 名前:名前は開発中のものです。 mailto:sage [2007/06/27(水) 23:23:06 ID:yjhEs/gz.net]
>>121
厳密に運用しようとすると >>122 に書いてあるような問題があるんだけど
実際にはソース同梱しない人が多いね.
CD配布とかで容量の問題がないなら同梱した方が面倒はないはず.

124 名前:名前は開発中のものです。 mailto:sage [2007/07/04(水) 00:19:18 ID:q7qptMde.net]
SDLで音をパニングしたいんだけど、可能ですか?
デフォルトのメソッドには無いので普通には出来ないっぽいですが。

125 名前:名前は開発中のものです。 mailto:sage [2007/07/04(水) 03:44:43 ID:5YcNq76N.net]
自分でミキシングすればもちろん可能ですよ。
SDL_mixer にも Mix_SetPanning がありますよ。

126 名前:124 mailto:sage [2007/07/04(水) 19:42:37 ID:q7qptMde.net]
>>125
ありがとうございました。
テンプレの一部の文書しか読まず、他の豊富な関数の存在を見落としました。
ttp://jcatki.no-ip.org/SDL_mixer/SDL_mixer_frame.html

127 名前:名前は開発中のものです。 mailto:sage [2007/07/04(水) 21:37:18 ID:q7qptMde.net]
重ねて質問恐縮なのですが…

SEについても、SetMusicPosition などの便利な命令を使いたいのです。
それが無理なのでしたら、複数のBGMを同時に扱い、SEとして使いたいのです。
どのような方法があるでしょうか?

128 名前:名前は開発中のものです。 mailto:sage [2007/07/04(水) 21:59:42 ID:q7qptMde.net]
というか・・・
SEでしか使えない命令とBGMでしか使えない命令が多く、かなり不便で困ってます。
SetPanningを使いたいならSEでないといけないが、SetMusicPositionで再生位置を指定したいのならBGMでないといけない……

何か対策はあるのでしょうか?
全部の関数が使える型があれば嬉しいのですが…



129 名前:名前は開発中のものです。 mailto:sage [2007/07/05(木) 00:01:34 ID:IairqX8P.net]
よくわからないけど、これも似たような話?
ttp://star-engine.sourceforge.jp/wiki/index.php?%E3%82%B5%E3%82%A6%E3%83%B3%E3%83%89


130 名前:名前は開発中のものです。 mailto:sage [2007/07/05(木) 00:12:18 ID:H/kOXyqx.net]
SDL_mixer は mixer って名前の割に mixer 機能と音声デコーダとしての機能が
ひっついてたりと微妙な設計の上に mixer としての機能はいろいろ制限付きだから
凝ったことしたいなら mixer を自作するか他のライブラリを使った方がいいと思う

131 名前:128 mailto:sage [2007/07/05(木) 00:35:58 ID:qePQoFxZ.net]
>>129,130
回答ありがとうございました。
SDLは音関係はまだ弱いみたいですね。今後に期待します。

132 名前:名前は開発中のものです。 mailto:sage [2007/07/05(木) 00:47:05 ID:NCulV6fv.net]
今後強くなることはほぼ無いよ
どうしても欲しけりゃ自分で作れ
マジで

133 名前:名前は開発中のものです。 [2007/07/14(土) 15:40:35 ID:MplrYQ6S.net]
SDL使ってないんだが、
SDL製のゲームってなんで、フルスクリーンから戻ると、
ウインドウがくっちゃくちゃになるんだ?

WindowsXPになってからから、最近はあまりならなくなったが、
デュアルディスプレイ環境にしたとたん、今度は、フルスクリーンから戻ると
サブディスプレイ側にウインドウが全部持ってかれるwwww
SDL製ゲーム、妙に腹立つんだが……

SDLって、フルスクリーンに、どんなAPI使ってる?

134 名前:名前は開発中のものです。 mailto:sage [2007/07/14(土) 17:44:45 ID:NCjcxLUp.net]
ソース読めば

135 名前:名前は開発中のものです。 mailto:sage [2007/07/14(土) 19:33:37 ID:HaWpR1FD.net]
>133
SDL-1.2.10のリリースノートに対策したと書いてあった気がするので
それ以前のバージョンだとダメとかありそう
とりあえずSDLのDLL群だけ公式サイトの1.2.10のものに入れ替えてみたらどうよ?

まーそれでもデュアルディスプレイ時は問題がある、とかだったらアウトだが

136 名前:名前は開発中のものです。 [2007/07/15(日) 03:58:00 ID:tjJzXNfv.net]
>>135
OK試してみる

137 名前:名前は開発中のものです。 [2007/07/15(日) 16:34:16 ID:/Vt2f/ht.net]
QuickTime を最新版にしたら

ld: Undefined symbols:
_HIPointConvert referenced from QuickTime expected to be defined in Carbon

ってのが出てコンパイルできなくなった

これは俺だけ?

138 名前:名前は開発中のものです。 mailto:sage [2007/07/22(日) 09:03:58 ID:MzGO1BEd.net]
環境を(ry



139 名前:名前は開発中のものです。 mailto:sage [2007/07/22(日) 10:06:10 ID:RJaocio8.net]
エラーメッセージから多分OSXだろうな、ということぐらいは推測出来るけども
それが分かったところでそんな環境でやってる人が少なすぎて誰も答えられない予感

140 名前:名前は開発中のものです。 mailto:sage [2007/07/22(日) 21:10:37 ID:SuhJ+niG.net]
OS Xなんだけど、むしろ137を見て、
iTunesとQuickTimeのパッチを宛ててない俺がいる。
真相が明らかになるまで宛てない。

141 名前:名前は開発中のものです。 mailto:sage [2007/07/22(日) 21:20:50 ID:utuuL8ub.net]
>>137
もしかして Panther ですか?
うちも 6 月 26 日に SDL をコンパイルした時は何の問題もなくて
mplayer をビルドできたんだけど、QuickTime の更新後他にも
ライブラリを追加して mplayer をリビルドしようと ./configure したら
SDL を認識しなくて configure.log に >>137 と同じログが残っていました。
--enable-sdl、--with-extraincdir、--with-extralibdir、--with-sdl-config 等を
オプションに加えてみたけどダメだった。


142 名前:名前は開発中のものです。 mailto:sage [2007/07/22(日) 21:23:28 ID:QFFk2TvQ.net]
ム板のQtスレで似たような症状を見かけたな。
紛らわしいがQuicktimeじゃなくてQtのスレな。

そのときはQuickTimeのバージョンを落とせと言う結論が出てた。

143 名前:名前は開発中のものです。 mailto:sage [2007/07/23(月) 21:10:59 ID:igyFwa8R.net]
QuickTime ProにしてたらQuickTImeのバージョンをあげずにシステムだけソフトウェアアップデートできる

144 名前:名前は開発中のものです。 mailto:sage [2007/08/03(金) 21:45:03 ID:paSzUBbH.net]
すいません初心者なんですが
SDLで描画する際に描画処理をもっと高速化したい場合
どんな方法があるでしょうか?
もしくは気を付けるべき点とかありますでしょうか?

主にわりと広い領域を1フレームごとに単一色で塗りつぶしたいです


145 名前:名前は開発中のものです。 mailto:sage [2007/08/03(金) 23:08:52 ID:3nV6unKF.net]
>>144
ビデオカードによってはGL併用で板ポリで塗りつぶしたほうが早いことがあるかもね

146 名前:名前は開発中のものです。 mailto:sage [2007/08/04(土) 00:05:39 ID:I+4koGEX.net]
>>145
レスありがとうございます 試してみます

147 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 21:44:08 ID:3+/Ng0d2.net]
今日始めたんだがもうなにがなにやら
導入できないしなんとか出来たと思ったらビルドできないし…

解説が少し古いから最新バージョンを使わないで説明に使われてるバージョンにしたほうがいいんだろうか
泣きそうだ

148 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 22:04:51 ID:TQ7ub0JP.net]
俺も始めたばかりだけど、windowsでのバイナリ作成はイマイチよくわからん
unixならmakefileかいてmakeすればいいだけだったからなぁ



149 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 22:22:53 ID:OhYk8zQ1.net]
WindowsならVC++用のDLLやらlibやらひと通りバイナリで公式に置いてあるじゃないか

150 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 22:40:35 ID:3+/Ng0d2.net]
SDL-devel-1.2.12-VC8.zipでいいの?

151 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 22:42:37 ID:OhYk8zQ1.net]
VC++2005ならそれでいいと思う

152 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 22:47:05 ID:3+/Ng0d2.net]
だよね…
設定から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 スキップ ==========


153 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 22:48:37 ID:3+/Ng0d2.net]
ユーザー名全然消せてないし('A`)

154 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 22:54:11 ID:OhYk8zQ1.net]
>>152
リンクするライブラリに
SDL.lib SDLmain.lib を追加してないだけじゃないか、それ

155 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 23:04:49 ID:3+/Ng0d2.net]
>>154
できた。できました。

ttp://www.geocities.jp/jq2hpl2000/SDL/environment.html
の一番下に書いてあることをやってみたらついにできた

パス通せば勝手にやってくれるわけじゃないんだね
できる人から見たらくだらないミスかもしれないが、完全に詰まってたから助かった
しかもこんな過疎スレでタイミング良く…

本当にありがとう

156 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 23:14:46 ID:OhYk8zQ1.net]
>>155
動いてよかったすな

あとこのスレ特に話題にすること無いから過疎ってるけど
ROMは結構いるんじゃないかと思う

157 名前:名前は開発中のものです。 mailto:sage [2007/08/07(火) 23:21:56 ID:3+/Ng0d2.net]
そうなのか
一年半で150レスだと知って絶望したが安心した
これからよろしく

158 名前:名前は開発中のものです。 mailto:sage [2007/08/08(水) 01:31:54 ID:sbyXI/dQ.net]
>>155
SDL ってか VisualStudio の使い方の問題だから一度は
ツールの使い方の勉強をするといいと思うよ.他にも応用が効くし.



159 名前:名前は開発中のものです。 mailto:sage [2007/08/08(水) 11:30:39 ID:do3ZrWrt.net]
自分も、見てはいるけど、書き込んではいない人ですね。

160 名前:名前は開発中のものです。 mailto:sage [2007/08/08(水) 20:09:52 ID:ZvrungyE.net]
つられて書き込みに来ました><

161 名前:名前は開発中のものです。 mailto:sage [2007/08/08(水) 21:44:30 ID:ePAndGqH.net]
SDLで同人ゲーム作って3年後には成金の予定です><

162 名前:名前は開発中のものです。 mailto:sage [2007/08/08(水) 21:53:54 ID:Pqw332Fd.net]
いくつかかサンプルプログラム組んでみたんだが、
やたらCPU使用率が高いのは仕様なのだろうか

163 名前:名前は開発中のものです。 mailto:sage [2007/08/08(水) 21:58:12 ID:na+UbHPh.net]
>>162
適当にSDL_Delayでも入れたら?

164 名前:名前は開発中のものです。 mailto:sage [2007/08/08(水) 23:33:58 ID:XsIa1hkW.net]
ほぼCPUによる描画だからCPUの使用率が高いというオチは無いかね。
なんらかのSDL_VIDEODRIVERを指定しないとSDL_BlitSurfaceは重いよ。

165 名前:名前は開発中のものです。 mailto:sage [2007/08/09(木) 00:00:07 ID:aet5cj80.net]
ありがとう
たぶんCPUだけでひたすらループをまわしているからかな…
参考にしてみる

166 名前:名前は開発中のものです。 mailto:sage [2007/08/09(木) 03:29:12 ID:bpKNN2nX.net]
まったくDelay入れてなければ普通にビジーループと同じなんだから
どんなCPUでも100%近くまで食うだろうけど…

167 名前:名前は開発中のものです。 mailto:sage [2007/08/09(木) 09:54:44 ID:iRc0pO0m.net]
1.2.12って先月出てたんだな……。
Added support for UTF-8 window titles on Windows. が嬉しい。

168 名前:名前は開発中のものです。 [2007/08/14(火) 12:52:04 ID:aAQZrqPS.net]

SDL入門てきなページのサンプルにprintf使ってるのあるんですけど、
printf使ってみてもなにも表示されないんですよ。原因わかる人
教えてくれますか?



169 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 13:30:20 ID:mUn2LVHE.net]
>>168 Cヘッダファイル読み込んでないとかいうオチじゃないよな?

170 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 13:36:41 ID:QpOzpnEh.net]
コンソール表示してないとか

171 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 14:06:58 ID:/iweu0SO.net]
実行ファイルと同じディレクトリにstdout.txtってのがないですか?
あるならそれに出力されてるはず

172 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 15:35:48 ID:GyW+IVPX.net]
窓に出力するのは結構面倒だぜ

173 名前:名前は開発中のものです。 [2007/08/14(火) 15:57:26 ID:aAQZrqPS.net]
>>169ヘッダファイルよみこんでました

>>170すいません、意味がわかりませんでした。ほんと、すみません。

>>171stdout.txtありました。ちゃんとかいてありました。
画面に出力する場合は fprintf( stdout, "maimai" ); でいけるかなと思ったんですが、
うまくいきませんでした。
もしかしてSDLの標準ライブラリには、そのような関数はないんですか?


174 名前:名前は開発中のものです。 [2007/08/14(火) 15:59:38 ID:aAQZrqPS.net]
>>172そうですかやっぱりSDL_kanjiなどをつかうべきですか?

175 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 19:56:31 ID:8W3CWuxg.net]
だからコンソール出せばいいじゃん

176 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 20:44:53 ID:TVRq227C.net]
>>168
そのサンプルで同じようにしたいなら
どのような手段を利用したいのか教えて欲しい
もしくはそのサイトへリンクを張るのも手だ

不足している情報は「どこに」「どういった目的で」文字を出力したいか
そして、現在は「どのような手段」を使ってそれを達成しようとしているかだ

間違いを修正して欲しいなら正解だと思っている方法を提示すべきだし
新たな方法を示して欲しいなら目的や条件をはっきりさせて欲しい


デバッグ目的であればコンソールやファイルに出す方法があるし
もしくは(Windows限定になるが)OutputDebugStringを使うのも便利だ


ただ、現象からみてコンソール出してないだけだよなぁ……
出し方わかる?たぶん色んなソースをチャンポンしたせいで
mainとWinMainのソースが混ざってるだけだと思うんだが

177 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 22:35:44 ID:Hyt9tt6Y.net]
Windows版のSDLでprintfをコンソールに表示したかったら、
SDLmain.libをコンソールアプリで作り直さないと無理だよ

178 名前:168 [2007/08/14(火) 23:20:35 ID:aAQZrqPS.net]
レスありがとうございます。

>>175本当にごめんなさい、意味がわからないです。

>>176>>不足している情報は「どこに」「どういった目的で」文字を出力したいか
そして、現在は「どのような手段」を使ってそれを達成しようとしているかだ。
「どこに」は、ウィンドウです。「どういった目的で」は、いまはとくに目的はありませんが、
サンプルどうりの結果が得られないのは、自分の環境に問題があるように思えて、心配です。
「どのような手段」は、今は、見つかっていません。どうしようもなければSDL_kanjiを使おう思っています。

間違いを修正して欲しいなら正解だと思っている方法を提示すべきだし>>printf("maimai");をメイン関数の中に入れてウィンドウにmaimaiと表示させたいです 。

デバッグ目的であればコンソールやファイルに出す方法があるし >>デバックが目的ではないです。
もしくは(Windows限定になるが)OutputDebugStringを使うのも便利だ>>調べてみます。

ただ、現象からみてコンソール出してないだけだよなぁ……
出し方わかる?たぶん色んなソースをチャンポンしたせいで
mainとWinMainのソースが混ざってるだけだと思うんだが>>ごめんなさい、いみがわかりません。








179 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 23:30:33 ID:v4Co7u1c.net]
SDLより前に基礎的なことが分かってなさ過ぎる。
printfは基本的に標準出力(コンソールやファイルやプリンタ)への文字表示命令であって、
SDLみたいなグラフィック画面への出力とは全く別物なんだよ。

そもそも、どこのサンプルでどう上手く行かないかも明示せずに
曖昧で焦点がぼやけた質問で人様を煩わせるのはちょっとどうかと思うんだわ。
そんな調子では超能力でもなければ君の問題を把握することができんよ。

180 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 23:33:31 ID:Hyt9tt6Y.net]
もーっ、そのものズバリ書いたってのにー

printf() は Windows 以外だったら標準出力(コンソール)に出るが、
公式で配っているWindows版のSDLはコンソールアプリじゃなくてWindowアプリとして作られてるので
そのままではprintf()を使ってもコンソールには何も出ない
その代わりに標準ではstdout.txtに出力されるようになってる
これはfreopen()を使って別のファイルにすることは可能

あと、Windows版SDLでは、自分で書いたmain()は #define 使ってSDL_mainに書き換えられてる
本当のエントリポイントはSDLmain.libの中にあるWinMain()
だから、コンソールにprintfを出力させたかったらSDLmain.libを作り直す必要があるってこと

181 名前:名前は開発中のものです。 mailto:sage [2007/08/14(火) 23:37:06 ID:GyW+IVPX.net]
SDL_kanjiは知らないけど、日本語使わない漏れはSDL_ttfのTTF_RenderUTF8_Solid()で作ってSDL_BiltSurface()で貼り付けるのを関数化して文字列渡して使ってる
しかしstdout.txtあるのは便利だよな

182 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 00:05:55 ID:QwtLL8/g.net]
お前ら凄い親切な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.net]
>>179
ものっっっすごく申し訳ありません。
もしよければweb1.nazca.co.jp/studioh/diary015.htmlに飛んでもらって、そのページのEvent関数の
if(ev.type == SDL_KEYDOWN) //キーが押されたかどうかの確認。
{
printf("キーが押されました");ここについて説明してもらえれば助かります。

>>180
わかりやすい説明ありがとうございます。
mainに見えても実はWinMainとゆうことですね。WinMainでprintfが使えないのはしっています、ですが、
web1.nazca.co.jp/studioh/diary015.html
if(ev.type == SDL_KEYDOWN) //キーが押されたかどうかの確認。
{
printf("キーが押されました");
で使われています。普通の環境で"キーが押されました"が表示されないのは当たり前でしょうか?

184 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 00:32:43 ID:tPtheI7D.net]
>>183
> 普通の環境で"キーが押されました"が表示されないのは当たり前でしょうか?
「Windowsの」普通の環境では表示されないのが当たり前
stdout.txtに出力されるのが当たり前

185 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 00:34:53 ID:4BjrTEfx.net]
違う人だけど答えます
printfの出力先は"stdout"ってのは常識ですよね?(俺もまちがってるかも)
で、windowsのSDLではこの"stdout"ってのは[stdout.txt]とイコールなわけです。
だから、printfは[stdout.txt]に出力するようになっているわけです。

だから、このプログラムはもし、何かしらのキーが押された場合に、[stdout.txt]に

キーが押されました

と、書き込むプログラムなわけです。
要は、SDLのイベントの処理の仕方を説明したプログラムです


なんだか、いろいろ勘違いされてるみたいですが、SDLにウィンドウに文字列を描画する、WinAPIでいうところのTextOutのような関数は存在しません。
もし、ウィンドウに文字列を描画したいなら皆さんが言うようにSDL_ttfや、SDL_kanjiなどを使うか、
自分でbitmapを用意して、それを描画しなくてはなりません

というより、stdoutとか理解してますか?
SDL以前にCがあやふやではないですか

186 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 00:43:15 ID:1oZuV42R.net]
たぶん>>185の言っていることの一割も理解してないんじゃないかと

187 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 00:59:57 ID:82FrRuTB.net]
多分分かってるのは「違う人」だけだと思う

188 名前:違う人 mailto:sage [2007/08/15(水) 01:01:08 ID:4BjrTEfx.net]




189 名前:違う人 mailto:sage [2007/08/15(水) 01:02:11 ID:4BjrTEfx.net]
すまん、誤爆、、、

>>187
どこか、間違ってますか?できれば教えてもらいたいのですが、、、
こんな長文書いといてなんですが、自分もC

190 名前:違う人 mailto:sage [2007/08/15(水) 01:04:34 ID:4BjrTEfx.net]
は結構微妙なんで


てか、すみません
なんか、ビューワの調子が、、、

191 名前:168 [2007/08/15(水) 01:31:47 ID:PDGC0i0E.net]
>>185>>要は、SDLのイベントの処理の仕方を説明したプログラムです
完璧理解しました、簡単なことでしたね。
どうもありがとうございます。

みなさん親切にどうもありがとうございました。

192 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 01:41:12 ID:9feGd8Aj.net]
簡単なことでしたね、じゃない。捨て台詞みたいでちょっと感心しないな。
お前には難しかったんだろ。

193 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 01:53:08 ID:wraMEEur.net]
まぁまぁ。俺も同じこと書きそうになったけど。

194 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 11:01:47 ID:OErOo2Dx.net]
っていうかVC++2005EEでもbcc+devでもビルド設定でコンソールアプリケーションに指定したら普通にでるよ
処理止めないとすぐ消えるけど

195 名前:名前は開発中のものです。 mailto:sage [2007/08/15(水) 13:24:53 ID:4BjrTEfx.net]
>194
いわれてみれば、確かにw
思いつきもしなかった

196 名前:名前は開発中のものです。 mailto:sage [2007/08/18(土) 23:57:30 ID:NM/B7TGH.net]
if( g_WindowActive ){ // ウィンドウがアクティブかどうか
move();
  draw();
} else {
SDL_WaitEvent(&g_Event);
}
if(!PollEvent()){ // SDL_PollEventでイベント処理
break;
}
こんな感じでウィンドウがアクティブのときは動いて、
非アクティブのときは止まっているようにしたいんですけど、
ウィンドウが完全に見えている状態で非アクティブからアクティブになっても
止まったままなんです。
非アクティブのときにCPU使わないようにしようとWaitEvent入れたらこうなりました。
どうすれば対処できますか?

197 名前:名前は開発中のものです。 mailto:sage [2007/08/19(日) 01:32:06 ID:ddUge9Ur.net]
>>196
そもそもアクティブ/非アクティブの状態の取得をどうやってる?
完全に想像だから間違ってたらすまんが、SDL_APPACTIVEは最小化されてるorされてないしか判定しない。
フォーカスの有無ならSDL_APPINPUTFOCUS

198 名前:196 mailto:sage [2007/08/19(日) 16:58:00 ID:87LzenFa.net]
>>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;
}
}

最小化からの復帰と別ウィンドウからフォーカスが移って再描画されるときはまた動き出すのですが
ウィンドウが完全に見えているときのフォーカスの変化に反応してくれないんです。



199 名前:名前は開発中のものです。 mailto:sage [2007/08/19(日) 17:23:23 ID:39ZqT3vu.net]
>>196
SDL_WaitEvent() で拾ったイベントを捨ててるからだろ…

200 名前:196 mailto:sage [2007/08/19(日) 20:42:20 ID:87LzenFa.net]
SDL_WaitMessage()のあとにもイベント処理をはさむようにしたらうまくいきました。
どうもありがとうございます。

201 名前:名前は開発中のものです。 mailto:sage [2007/09/01(土) 16:14:39 ID:uj+9umUP.net]
先生!SDL_AddTimerが0しか返してくれやがりません><

202 名前:名前は開発中のものです。 mailto:sage [2007/09/01(土) 16:29:18 ID:4VIN7FZV.net]
>>201
エスパーすると SDL_Init() に SDL_INIT_TIMER を渡してないんだろう

203 名前:名前は開発中のものです。 mailto:sage [2007/09/01(土) 16:30:04 ID:uj+9umUP.net]
ごめんなさいSDL_InitにSDL_INIT_TIMER渡してないだけでしたごめんなさい

204 名前:名前は開発中のものです。 mailto:sage [2007/09/01(土) 22:08:46 ID:3oMJBmXZ.net]
美しすぎる流れに完敗

205 名前:名前は開発中のものです。 mailto:sage [2007/09/01(土) 22:35:48 ID:3R+RRVDL.net]
久々にいいモン見れた
今日は夢に美少女が出てくるに違いない

206 名前:名前は開発中のものです。 [2007/09/06(木) 00:56:52 ID:4VpwTJkO.net]


207 名前:名前は開発中のものです。 [2007/09/06(木) 01:00:03 ID:4VpwTJkO.net]
質問です。SDL_VIDEORESIZEが送られてくるタイミングっていつですかね?

208 名前:名前は開発中のものです。 mailto:sage [2007/09/06(木) 01:52:03 ID:ernuANIp.net]
SDL_SetVideoMode()で SDL_RESIZABLE を渡してウィンドウ作って
そのウィンドウをリサイズしたときじゃね?



209 名前:名前は開発中のものです。 [2007/09/06(木) 02:51:05 ID:4VpwTJkO.net]
ごめんなさい間違えた。SDL_VIDEOEXPOSEです。

210 名前:名前は開発中のものです。 mailto:sage [2007/09/06(木) 04:18:37 ID:ernuANIp.net]
>>209
Windowsとかだと普通にウィンドウが表示されたときや隠れたウィンドウが表に出たときに
飛んでくると思うけどXだと全然こなかったりするね…

あとは別スレッドでデータ更新してメインスレッドで描画する場合に別スレッドから
自前で SDL_PushEvent() で送ってやるときとかに使うこともあるかな…






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<213KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef