[過去ログ] SDLスレ (987レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
572
(1): sgi_rocks [sage] 04/09/08 10:28 ID:Z7GwucVh(1/3) AAS
>>571
571(3): 564 [sage] 04/09/08 03:05 ID:/gyCnV3K(1) AAS
あ、かぶってしまった >>569
外部リンク[zip]:gamdev.org
kinput2 + canna で一応動いた。test/main.cは書換え無しでほぼ同じ挙動をするはず。
skkinputでは動かなかった。
on-the-spot とかいうスタイルを使えば描画も全部アプリケーション側でいけるはず。

いちいち全部描画をアプリケーションでやるのは面倒なこともあるかもしれんので、
ネイティブなIMEウィンドウで描画する方法もあったらいいかもしれんと思う。 >>仕様

>>570
たしかに、あったら助かるかも。
すごいです。Fedora Core 2(XIM + canna)で試しましたが、Windowsと同じように動作しました。
on-the-spotだとコールバック関数設定できたんですか(汗。思いつかなかったです。

一応サイトを作ってみました。
もし良かったら使って下さい。
外部リンク:p56.aaacafe.ne.jp
573
(1): sgi_rocks [sage] 04/09/08 10:35 ID:Z7GwucVh(2/3) AAS
>>571
すごいです。Fedora Core 2(XIM + canna)で試しましたが、Windowsと同じように動作しました。
on-the-spotだとコールバック関数設定できたんですか(汗。思いつかなかったです。

一応サイトを作ってみました。
もし良かったら使って下さい。
外部リンク:p56.aaacafe.ne.jp
574: 名前は開発中のものです。 [sage] 04/09/08 12:44 ID:4F4ga2pg(1/4) AAS
>>569
569(3): sgi_rocks [sage] 04/09/08 00:55 ID:hVzmkiI8(1/2) AAS
>>568
基本的な仕様は現在ので良いと思います。
ひとつ提案があるとすれば、SDL_PollEventでイベントがなかった場合にIM関連のイベントを調べるのではなく、
User DefineなイベントをSDLのイベントキューに入れて、SDL_PollEventのループ内で他のイベントと同じように
処理できるようになればよいかな、と思いました。

>>566
私も531さんの仕様に沿った形で、XIMでの実装していたのですが、なかなか難しいですね(汗。
というのも、win32.cのように、自分でprocを作って、そっちで必要なものを処理した後、
SDLのprocにメッセージを渡す、というような形が取れれば一番良いと思うのですが、
X Window Systemでは、イベントが起こるたびに呼ばれるコールバック関数を設定する、というのはなく、
SDLが常にイベントを見るためにループしてるので、どうやってイベントをSDLより先に取得するかで悩んでます。
一応、XReparentWindowとかいう関数で、無理やり自分の作ったwindowをSDLの描写windowの親にして、
wmwindowの方はXUnmapWindow関数でマップをはずす事でなんとかSDLより先にイベントを取れるようになったのですが、
今度はXIMの仕様でなかなかわからなくて・・・。

XIMでは変換だけIMに任す、というのはできないらしく、必ず
何を入力しているのか、というのがXIMによって描写されてしまっている感じがします。
なので、変換中の文字列が取得できるにしても、すでにXIMによって画面に描写されている感じになってしまうかもしれません。
もしXやXIMに詳しい方がいらっしゃれば、その辺り教えて頂けると嬉しいです。
> どうやってイベントをSDLより先に取得するかで悩んでます。
一応こんなもんがあるよ。
外部リンク[html]:www.tacoworks.jp
ただ、これを使っても、SDL 自体の処理がタコで
ユーザーにイベントを回してこないことがある。
win32.c では SDL が一部のイベントを握り潰していたから
自分で Win32API 側のイベントを奪い取るしか無かった。
あと、アプリケーション開発側のユーザーが
SDL_inputmethod と同時に自前で SDL_SetEventFilter() を使った場合、
きちんと古い SDL_EventFilter を呼んでくれない危険性もあるね。
575: 名前は開発中のものです。 [sage] 04/09/08 13:09 ID:4F4ga2pg(2/4) AAS
>>571
おお、やった!
っていうか SDL_EventFilter 使ってたんだね。

> ネイティブなIMEウィンドウで描画する方法もあったらいいかもしれんと思う。 >>仕様
SDL_rwops や SDL_rotozoom みたいに本体と分離できないかな。
SDL_inputmethod 自体に描画を入れるのを嫌がってるのは
ユーザーに何らかの制約を課したくないだけだからなんだけど、
ほら、使わない場合にまでわざわざ SDL_ttf を入れるのって面倒じゃない。
もっとプリミティブな部分を前面に押し出していった方が
ユーザーとしても使いやすいと思ってたんだけど、そうでもないのかな。
そういう意味で
>>569
> User DefineなイベントをSDLのイベントキューに入れて、SDL_PollEventのループ内で他のイベントと同じように
> 処理できるようになればよいかな
とも考えてたんだけど、
IME 処理は SDL 本体のイベントループと別の場所で
単純に処理できた方が楽だと思ってわざと今の仕様にした。
仕様に関しては他の人の意見も参考にしたい。

>>572
あらら、SourceForge.jp にでもプロジェクト立てればいいやと思ってたんだけど、
それは大体出来てからでいいかな。
っていうか LGPL で問題無い?

>>573
おちけつ

ちょっと家に帰ったらテストプログラム修正する。
576
(1): 531,575 ◆pm4Rr1N8T6 [ID が pg sage] 04/09/08 13:11 ID:4F4ga2pg(3/4) AAS
トリップ忘れ。上司が後ろを通って焦ってしまった。
577: sgi_rocks [sage] 04/09/08 13:58 ID:Z7GwucVh(3/3) AAS
>>576
確かにSDL_inputmethod自体は描写に関するものは一切含まないようにしておいて、
もしそれが必要でありそうなら、SDL_inputmethodに対するラッパーを書く方が良いかもしれませんね。

sourceforge.jpはまったく頭に無かったです。
もしそっちでできるのであればそっちの方が良さそうですね。

SDLでIMを使いたいな、と思ったのもゲームを作ってたのが原因なので、
今作ってるものにSDL_inputmethodを使ってみます。
578: 564 [sage] 04/09/08 16:06 ID:5bciN7sZ(1) AAS
あー、ネイティブっていうのは、OSネイティブのIMっていう意味。
WindowsだったらMS-IMEの変換ウィンドウっていう意味で。

それだったらどう?
579
(1): 531 ◆pm4Rr1N8T6 [sage] 04/09/08 18:28 ID:4F4ga2pg(4/4) AAS
うーん、調べた限りだと、Windows の仕様では DirectX なんかで
プライマリバッファに描画するようにした時、
どうしても OS ネイティブなウィンドウがプライマリバッファで上書きされてしまうみたい。
Windows の場合は変換中の文字列も一つのウィンドウの中の表示という扱いで、
プライマリバッファに上書きされてしまうから、そういう条件下ではどうしても自前描画になるっぽい。

基本的な知識が足りてないから曖昧な言い方になってしまった。
わかりづらい説明ですまん。
結局 OS 自体に入力部分を描画させるのは難しいみたい。

俺の知識不足である可能性も充分に有り得るから、
誰か解決方法知ってる人がいたら情報お願い。
580: ('A`) [sage] 04/09/08 21:41 ID:il2D+HG0(1) AAS
みなさんすごいですな。影ながら応援しとります。
自分は面倒くさいのでgtk windowid hackで取り込んで
テキストウィジェット貼り付けただけですませてもたですよ('A`)
('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)

外部リンク[gz]:drizzt.kilobug.org
外部リンク[zip]:www.maccormack.net
581: 564 [sage] 04/09/09 03:39 ID:b9WTMygk(1) AAS
>>579
なるほど。じゃあ、やっぱ
プリミティブな部分ライブラリ + それのラッパみたいなライブラリ
っていう構成がいいのか。
582
(1): 名前は開発中のものです。 [sage] 04/09/12 22:47:27 ID:Y32NRKdw(1/2) AAS
CVS版のsmpegなんですが、
smpeg/video/MPEGvideo.cppのMPEGvideo::Stopが以下のようになってます。
297 MPEGvideo:: Stop(void)
298 {
299     if ( _thread ) {
300         SDL_WaitThread(_thread, NULL);
301         _thread = NULL;
302     }
303 ----
304     playing = false;
305 ----
306     ResetPause();
307 }
playing = false;をSDL_WaitThreadの前にしないと何時までもStopしないと思うのですが…。
583: 582 [sage] 04/09/12 22:51:21 ID:Y32NRKdw(2/2) AAS
> 303 ----
> 305 ----
の----は無視してください。
584: 名前は開発中のものです。 [sage] 04/09/13 17:03:47 ID:F/MIp811(1/2) AAS
SDL_inputmethodの話題、SDL Watch::TNGに取り上げられたね。期待!

SDL_inputmethod
外部リンク:p56.aaacafe.ne.jp
585: 名前は開発中のものです。 [sage] 04/09/13 17:16:32 ID:055hpd5o(1) AAS
音沙汰がないと思ったらそっちでやってたのか。
586
(1): 名前は開発中のものです。 [sage] 04/09/13 18:53:29 ID:F/MIp811(2/2) AAS
すいません。休刊になったLinux japan最終号の付録CD-ROMについてた"SDLバカ一代"のpdfは公開されているものでしょうか?
Linux japan最終号は出版元にも既にバックナンバーがない状態でして、SDLの貴重なドキュメントを逃したことが非常に残念です。。
Linux japanのいくつかの連載記事は出版元の協力を得てpdfで公開されているので、"SDLバカ一代"についても期待をしているのですが...
587: 名前は開発中のものです。 [sage] 04/09/14 16:53:11 ID:F75T3zlI(1) AAS
>>586
著者にメールで相談してみては?
588: 名前は開発中のものです。 [sage] 04/09/14 19:23:51 ID:BUAbryMc(1/2) AAS
GtkSDLをWindows上で動作させることは可能だろうか?
589: 名前は開発中のものです。 [sage] 04/09/14 20:10:50 ID:BUAbryMc(2/2) AAS
尋ねる前に自分でやってみるべきだた。
どうも無理ぽい。
gdkx.hをgdkwin32.hに、GDK_WINDOW_XWINDOWをGDK_WINDOW_HWNDに書き換えて
-mms-bitfields付けてgcc3.2.3でコンパイルしたところ、
SDLのウィンドウとGTK+のウィンドウの二つが。
590: 名前は開発中のものです。 [sage] 04/09/16 14:37:11 ID:HQ3ex6FR(1) AAS
おちる。。
591
(1): 名前は開発中のものです。 [sage] 04/09/16 17:49:16 ID:2OLCusIL(1) AAS
SDL_inputmethod が sourceforge.net に引越ししたみたい

外部リンク:sdlinputmethod.sourceforge.net
592
(2): 名前は開発中のものです。 [sage] 04/09/16 23:34:47 ID:Bx2LEHan(1) AAS
ゲームの効果音って、Mix_LoadWAVあたりで全部pre-loadするのが一般的なのかな?
593
(1): 名前は開発中のものです。 [sage] 04/09/17 00:11:19 ID:jqWr+HpC(1) AAS
>>592
一般的かどうかは知らんが、オレはそうしてる。
594
(1): 名前は開発中のものです。 [sage] 04/09/17 08:53:16 ID:YTjwD9Cr(1) AAS
俺もそうすることが多いけど、会話シーン中の効果音程度ならその場で読み込んでる。
RPGやSLGなんかもその場で読んで充分じゃないかと思う。
リアルタイム要素の強さ次第かな。
595: 592 [sage] 04/09/20 00:02:29 ID:qEnIINch(1) AAS
>>593-594
えらく遅くなりましたがありがとです。
596
(1): 名前は開発中のものです。 [sage] 04/09/23 07:48:29 ID:MAQ37xzD(1) AAS
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER)が失敗するのは具体的にどんな時なのだろう……
1-
あと 391 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s