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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
686: 685 [] 04/12/24 03:50:56 ID:D6kFgiLi(2/2) AAS
Uconv使って無理やり解決させました(引数の部分だけSJISに変換)が、なんかすっきりしません。
687
(1): 名前は開発中のものです。 [sage] 04/12/25 15:48:19 ID:jmQKZrGb(1) AAS
>>685
685(4): 名前は開発中のものです。 [] 04/12/24 01:04:03 ID:D6kFgiLi(1/2) AAS
Ruby/SDL で、スクリプトを UTF-8 で書くと、文字化けを起こしてしまいます。
たとえば、SDL::WM.set_caption の引数、つまり窓のタイトルが文字化けします。
$KCODE の設定を確認したのですが、文字化けの原因にはなってませんでした。
SDL 側に正しい文字コードを認識させる方法はないのでしょうか。
書いてないけど日本語でってことかな、多分
Rubyはさっぱりだけど、タイトルの文字化けはOS(というかWindowシステム?)の問題では?
多分SDLはもらった文字列をそのままOS(というかWindowシステム?)のキャプション表示に渡してるだけだろうから
SDLが文字コードを認識できたとしても何も解決できないと思われ
キャプションに日本語を表示させるのをあきらめるしかないのでは?
あとは表示させる文字列をSJISのファイルにして、それをロードしてそのままわたせば
変換の必要はなくなると思うけど
688
(1): 名前は開発中のものです。 [sage] 04/12/25 23:37:26 ID:A/zeU39x(1/2) AAS
>>685
SDL 本体自体は、そもそも多言語化を意識してないもんなあ。

外部リンク[c]:www.libsdl.org
Windows
外部リンク[c]:www.libsdl.org
X11

ちょっとよく見てないんだけど、X11 版は内部で UTF-8 を使ってるように見える。勘違いかな。
ただ Windows は確実にほったらかしだね。これじゃマルチバイト文字は通らない。

Ruby/SDL のことはわからないけど、すっきりした解決策は無いと思うよ。
本家にパッチ送るって手もあるけどね。
689
(1): 名前は開発中のものです。 [sage] 04/12/25 23:52:50 ID:A/zeU39x(2/2) AAS
> ただ Windows は確実にほったらかしだね。これじゃマルチバイト文字は通らない。

ごめん、これ間違い。
マルチバイト文字が通らないんじゃなくて、UTF-8 が通らない。

アプリケーション本体のソースで Unicode 統一とかやってんだったら、
プリプロセッサで分けて Windows の場合は WideCharToMultiByte 使うとか、
X11 で通らなかった場合は iconv で nl_langinfo(CODESET) に変換するとか、
そういう対処する以外無いと思う。なんか SDL 使ってる気が薄れるけど。
もしくはタイトル部分は ASCII で開き直るとか。
690: 685 [sage] 04/12/26 00:25:42 ID:7MVm4DuB(1) AAS
ご返答ありがとうございます。

>>687

> 書いてないけど日本語でってことかな、多分
そうです。書き忘れました。すみません。
マルチバイト文字の部分だけ文字化けしました。ASCII文字は大丈夫でした。

> 多分SDLはもらった文字列をそのままOS(というかWindowシステム?)のキャプション表示に渡してるだけだろうから
> SDLが文字コードを認識できたとしても何も解決できないと思われ
そうなのですか。残念です。
SDLが、OSを意識することなくアプリケーションを組めるライブラリであるなら、
OSのデフォルトの文字コードも意識する必要はないのかな、と思っていました。

>>688=>>689

> ちょっとよく見てないんだけど、X11 版は内部で UTF-8 を使ってるように見える。勘違いかな。
> ただ Windows は確実にほったらかしだね。これじゃマルチバイト文字は通らない。
URLありがとうございます。
ソースを見てもさっぱりですが、マルチバイト文字関連は手薄である、と解釈してよいのですね。

> プリプロセッサで分けて Windows の場合は WideCharToMultiByte 使うとか、
> X11 で通らなかった場合は iconv で nl_langinfo(CODESET) に変換するとか、
まだ僕の技術が未熟なもんで、何がなにやらさっぱりわかりませんが…
OS毎になにかいろいろ変える必要があるのですね。

> もしくはタイトル部分は ASCII で開き直るとか。
一番簡単な解決策ですね。
691: 名前は開発中のものです。 [sage] 04/12/26 01:54:22 ID:PcH7Hb9Y(1) AAS
そういえば漏れゲームの時はタイトル部は必ず英語か
それっぽいアルファベット数文字
692: 名前は開発中のものです。 [] 04/12/27 12:57:06 ID:kl2IaoBJ(1) AAS
lkj
693
(2): 名前は開発中のものです。 [] 04/12/28 15:51:44 ID:N7uXumos(1) AAS
66 :デフォルトの名無しさん :04/12/27 18:00:11
  まじでRubygame作っている香具師がいたのか。
  外部リンク:rubygame.seul.org
694: 名前は開発中のものです。 [sage] 04/12/28 20:02:35 ID:qJ+0ZIyb(1) AAS
>>693
リファレンスをぱっと見て、 Ruby/SDL と何が違うのかわからんとおもた
695: 名前は開発中のものです。 [sage] 04/12/28 23:53:10 ID:T/yIjxhS(1) AAS
>>693
Ruby + SDL ってこれで3つ目だっけ
696: 名前は開発中のものです。 [] 04/12/29 01:07:47 ID:9zkeURY6(1) AAS
SDL使ってる人って少ないのかな?
697: 名前は開発中のものです。 [] 04/12/29 22:11:54 ID:QcwKrDG0(1) AAS
ちゃんとしたGUIがあれば使ってもいいんだが・・・。
いったいどうすりゃいいのって状態なもんで。
698
(1): 名前は開発中のものです。 [sage] 04/12/29 22:21:36 ID:enz/1/yx(1) AAS
2Dでゲーム作るのなら、SDLはスゲエ楽だし、金もかからないし、そのくせ自由度はあると思うので、もう少し流行してもいいと思うんだけどなあ。
みんな最初はDirectXから入るだろうけど、そこから別の環境に移行するのが面倒になって、止まってるんじゃないかな?と思う。
楽をする為の努力をするのも、悪くは無いと思うんだけどな。

とまあ、友達にオススメしたら環境構築すら出来なかったようなので、素人には敷居が高いことは、確からしい。
素晴らしいものなのに、残念。
699: 名前は開発中のものです。 [sage] 04/12/30 00:23:35 ID:4YT/UF4y(1) AAS
allegroはAPIの名前がアレだった。
700: 700ゲト [sage] 04/12/30 13:31:40 ID:F+nUJbkY(1) AAS
cubeもSDL使ってるよね。
701: 名前は開発中のものです。 [] 04/12/31 14:52:58 ID:YiI4iQlZ(1) AAS
VCあたりでSDLの環境構築できないのは能力的に問題あると思う
情報も豊富なのに
702: 名前は開発中のものです。 [sage] 04/12/31 16:50:22 ID:SOfdUrI9(1) AAS
C なり C++ なり D なりの触り始めじゃないのかな。
ヘッダファイルとかライブラリファイルとかがどういう用途で
コンパイラがどこに読みに行ってどこに置けばいいのか、
ってとこを把握しないといけないから、
「プログラミング初めてで、SDL 使います」という場合はまあ環境構築できなさそう。
結局は能力が低いってことなんだけど。
703: 名前は開発中のものです。 [sage] 04/12/31 17:06:36 ID:tVjZ5Y/d(1) AAS
まあそう責めてやるな。
704
(2): 名前は開発中のものです。 [sage] 05/01/03 00:21:36 ID:VVWAXKVf(1) AAS
>>698
OpenGLでなんか作るときにも、最近はもう必須。

俺は、MinGWを入れて、SDL-1.2.8.tar.gzを展開して
configure
make
make install
で、環境構築してる。
でも、printf()が出力されない。。。
705: 名前は開発中のものです。 [sage] 05/01/03 04:05:53 ID:XjwGZAam(1) AAS
>>704
標準では、stdout.txt(標準エラー出力はstderr.txt)に出力されるようになってる。

freopen("hoge.txt","w",stdout);
freopen("err.txt","w",stderr);

とかすれば、任意のファイルに変更可能。
706: 名前は開発中のものです。 [sage] 05/01/03 16:32:46 ID:ZXvyJ+mP(1) AAS
もしくは、SDL 本体の SDL_win32_main.c の中の WinMain() にある
freopen() の呼び出しをコメントアウトして DLL 作り直すとかね。
コマンドプロンプト以外から実行した時におかしくなるかもしれないけど。
707
(1): 名前は開発中のものです。 [sage] 05/01/03 17:10:56 ID:AuOfObHU(1) AAS
本家 ML に流れてたのを転載

> SDL is compiled with stdout redirection to stdout.txt by default.
> if you want to use stdout, and not write to a file:
> recompile SDL with --disable-stdio-redirect

--disable-stdio-redirect でコンパイルすればよいらしい
708: 名前は開発中のものです。 [sage] 05/01/03 21:21:46 ID:eVd45ytG(1) AAS
cygwin だと tail -f 効かなくて困っていた所だったので、参考になりました
709: 704 [sage] 05/01/04 00:21:35 ID:mAqS2ZUA(1) AAS
>>707
情報ありがと。

なんか明示的に fflush(stdout); しないと、すぐに出力されないっぽいけど
出ないよりは全然ましなんで大助かりです。ヽ(´▽`)ノ
710: 名前は開発中のものです。 [sage] 05/01/05 21:06:07 ID:Fu+0McaA(1) AAS
JEDI-SDL
外部リンク:www.delphi-jedi.org
1-
あと 277 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s