[過去ログ] SDLスレ (987レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
925
(11): 名前は開発中のものです。 [sage] 2005/10/15(土) 04:46:42 ID:xL4TCgUt(1) AAS
>>923
923(2): 名前は開発中のものです。 [sage] 2005/10/14(金) 18:43:07 ID:kCsY6VJS(1) AAS
UTF8のファイルから読み込んだ文字列をひとつのサーフェイスにして
描画する方法が分かりました。
しかし、その文字列を一文字ずつ描画したい場合(ドラクエのように人に話すと
表示されるメッセージのように)は人文字ずつサーフェイス作っていって
フレームカウントをして表示速度の制御をしながら描画するのがいいんでしょうか?
後、UTF8だと日本語1文字が何バイトなのかって固定されてないので、すごく難しいんですが。
アイディアください。
むしろ
>UTF8のファイルから読み込んだ文字列をひとつのサーフェイスにして描画する方法
を教えてください
927: 925 [sage] 2005/10/16(日) 00:09:25 ID:uNCcPNGN(1/8) AAS
マジで教えて欲しいんすけど・・・
928
(1): 名前は開発中のものです。 [sage] 2005/10/16(日) 01:09:04 ID:ho7RZaGn(1) AAS
>>925
SDL_ttf をいれて以下の関数を使う
* TTF_RederUTF8_Solid()
* TTF_RederUTF8_Shaded()
* TTF_RederUTF8_Blended()
929: 925 [sage] 2005/10/16(日) 16:53:28 ID:uNCcPNGN(2/8) AAS
そうじゃなくて、1フレーム毎にsurfaceを生成して描画してたんじゃ遅くて使い物にならない(こともないけど)ので、
アプリケーションの初期化時にテキストデータを全部読み込んで画像をcache、文字と矩形の対応情報を保存、もしくは外部でそのファイルフォーマットを吐き出すツールを作る必要があると思うんだけど、
もういいや。

>>924
924(2): 名前は開発中のものです。 [sage] 2005/10/14(金) 20:16:29 ID:uTRcIOI8(1) AAS
UTF-8は先頭バイト見れば何バイトかわかるけど?
0x00-0x7F 1
0xC0-0xDF 2
0xE0-0xEF 3
0xF0-0xF7 4
0xF8-0xFB 5
0xFC-0xFD 6
>>928
情報ありがとう。知らなかったよ。
931: 925 [sage] 2005/10/16(日) 17:01:39 ID:uNCcPNGN(3/8) AAS
文字列情報が固定されているゲームに限定してレスしてしまった。すまそ。
動的な文字列の場合はやっぱりそのまま生成して使うんかな。
まあどうでもいいか。
932: 925 [sage] 2005/10/16(日) 17:04:24 ID:uNCcPNGN(4/8) AAS
はいはい、君は僕より頭がいい。
935: 925 [sage] 2005/10/16(日) 19:15:54 ID:uNCcPNGN(5/8) AAS
>>933
933(2): 名前は開発中のものです。 [sage] 2005/10/16(日) 17:46:45 ID:ePu+oMfg(1) AAS
TTF_RederUTF8_XXXを使う場合でも1フレーム毎にsurfaceを
生成するなんてアホなことはしない.文字列のsurfaceが欲しい
シーンに入るときにsurface作ってそのシーンから抜けるときに
SDL_FreeSurface()する.

文字と矩形を対応させて文字列を描画する方法はASCIIコード程度なら
やるけど日本語ありの場合は必要な文字だけをレンダリングしたとしても
莫大なメモリを食うのでやっぱりやらない.
使う文字列が多い場合、シーン毎に細分化してもメモリ使用量は変わらんがな。結局使うんだから。
ましてMMOのチャットなんかで動的に必要な場合はシーンで確保なんかできない。
937: 925 [sage] 2005/10/16(日) 20:15:33 ID:uNCcPNGN(6/8) AAS
優越感に浸りたいだけの馬鹿でなければ指摘していただきたい。
それとも文章力が無いのか、面倒臭がりなのか。
938: 925 [sage] 2005/10/16(日) 20:21:33 ID:uNCcPNGN(7/8) AAS
>>936
936(1): 930 [sage] 2005/10/16(日) 19:37:31 ID:0gQNvyRR(2/2) AAS
正直スマンかった。アホじゃなくて池沼だわ。
じゃなきゃ誰も君のレスに何の価値を感じないよ。
君はそのレスを書き込むことに何か意義を感じるのかい?
「925は馬鹿だな」って、一緒になって賛同してくれるレスが欲しいのかい?
くだらねえ。
939: 925 [sage] 2005/10/16(日) 20:23:46 ID:uNCcPNGN(8/8) AAS
病んでるな俺
SDL_ttfで首吊ってきます
さようなら
948
(1): 925 [sage] 2005/11/07(月) 12:44:31 ID:TpJBaBVO(1) AAS
>>946
946(3): 名前は開発中のものです。 [sage] 2005/11/06(日) 17:47:38 ID:HW9Qh6Q9(1/2) AAS
>>945
こんな感じでMakefileを書いてコンパイルすればいいでしょう。
-----------------------------------------------------------
CC=bcc32
RC=brc32
ILIB=implib
CFLAG=-WD -3 -O2 -w- -AT -pc -H- -k -b -DWIN32 -DBUILD_DLL
CINCS=-I..\include
TARGET= SDL_gfx.dll
LIB= SDL_gfx.lib
SRC1= SDL_imageFilter.c
OBJ1= SDL_imageFilter.obj
SRC2= SDL_gfxPrimitives.c
OBJ2= SDL_gfxPrimitives.obj
SRC3= SDL_framerate.c
OBJ3= SDL_framerate.obj
SRC4= SDL_rotozoom.c
OBJ4= SDL_rotozoom.obj
LIB1=..\lib\SDL.lib
どうも。レスありがとうございます。メイクファイルを見ました。
上記のmakeをborlandのmakeコマンドで実行してみましたが、何もエラーだとか
何も反応がないので、少し修正しました。borlandのmakefileって小括弧じゃなくて中括弧で書くみたいなので、一応中括弧に直してmakeしました。
修正した所だけ書くと、
OBJ= SDL_imageFilter.obj SDL_gfxPrimitives.obj SDL_framerate.obj SDL_rotozoom.obj
$(TARGET) : $(OBJ)
$(CC) $(CFLAG) -e$(TARGET) $(OBJ) $(LIIB1)
$(ILIB) $(LIB) $(TARGET)
.c.obj :
$(CC) $(CFLAG) $(CINCS) -c $<
修正したmakefileが今手元にないけど、こんな感じにしたら、ちゃんと動きました。
一回、失敗してSDL.libをリンクしてなくてプロシージャが見つからないってエラーが出てきましたが、
ちゃんと$(CC) $(CFLAG) -e$(TARGET) $(OBJ) $(LIIB1) という感じに$(LIB1)を入れたらうまくDLLと
ライブラリが作れました。
# $(OUTDIR)って定義されてないけど、これは何でしょうか?
950: 925 [sage] 2005/11/08(火) 10:03:40 ID:S6wiWkHj(1) AAS
>>946
どうもレスありがとうございます。なるほど、オブジェクトファイルの保存ディレクトリですか。
SDL_gfxの配布ファイルにはVCのメイクファイルしか入ってなくって、BCCでのビルド無理だからVC買おうかと思ってましたが、質問してよかったです。
BCC Developperですか。長いことずっとコマンドライン作業だったので、Developerすごく便利そうですね。今度から使ってみます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.043s