[過去ログ] SDLスレ (987レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
571(3): 564 [sage] 04/09/08 03:05 ID:/gyCnV3K(1) AAS
あ、かぶってしまった >>569569(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に詳しい方がいらっしゃれば、その辺り教えて頂けると嬉しいです。
外部リンク[zip]:gamdev.org
kinput2 + canna で一応動いた。test/main.cは書換え無しでほぼ同じ挙動をするはず。
skkinputでは動かなかった。
on-the-spot とかいうスタイルを使えば描画も全部アプリケーション側でいけるはず。
いちいち全部描画をアプリケーションでやるのは面倒なこともあるかもしれんので、
ネイティブなIMEウィンドウで描画する方法もあったらいいかもしれんと思う。 >>仕様
>>570たしかに、あったら助かるかも。
605(4): 名前は開発中のものです。 [] 04/10/24 21:43:30 ID:f3AiXIG4(1) AAS
SDL_ttfでアンチエイリアスを効かせるには、どうすればいいんでしょうか?
685(4): 名前は開発中のものです。 [] 04/12/24 01:04:03 ID:D6kFgiLi(1/2) AAS
Ruby/SDL で、スクリプトを UTF-8 で書くと、文字化けを起こしてしまいます。
たとえば、SDL::WM.set_caption の引数、つまり窓のタイトルが文字化けします。
$KCODE の設定を確認したのですが、文字化けの原因にはなってませんでした。
SDL 側に正しい文字コードを認識させる方法はないのでしょうか。
736(3): 名前は開発中のものです。 [sage] 05/02/11 22:56:34 ID:dXQ7K1nl(1/2) AAS
SDL_ttfでM+フォントが開けない。・゚・(ノД`)・゚・。
TTF_OpenFont("fonts/bdfmplus.ttf", fontSize);
TTF_OpenFont("fonts/bdfUMplus.ttf", fontSize);
サイズ1〜100まで試したけどだめぽ。
環境はWindows
SDL_ttf-2.0.6
freetype-2.1.8
フォントは香り屋で落としてきたやつ。
749(4): 名前は開発中のものです。 [sage] 05/02/15 20:48:20 ID:6CIQh+IC(1) AAS
前から BCC で使ってるけど、1.2.7 からコンパイルできなくなったと記憶してる。
DirectX と WinDIB の両方でエラーになるから、片方潰して回避することもできない。
結構粘ってみたんだけど、問題解決できなかった。
単に一つ定義が足りないっつってるだけかと思ったら、
手動で定義しても次々別のエラーが出てくるだけ。終わらない。
他に根本的な原因があるんだろうけど、解明できなかった。
ちなみに VC も DirectX のソースでエラー吐く。
こっちも問題を解決できなかったので、
プロジェクトの設定 -> 左の'SDL'を選択 -> C/C++ -> プリプロセッサ -> 定義から ENABLE_DIRECTX を消す
とやって、これでもまだ足りないから、
ファイルビューから名前に dx5 を含むファイルを全部削除した。
これで DirectX 無しでだがコンパイルできるようになる。
ちなみに、初期状態だと afxres.h が無いとか言い出すけど、
#include <windows.h>
とだけ書いた afxres.h を SDL-1.2.8\VisualC\SDL に置けば回避できる。
まさかちゃんとした afxres.h を持ってこないと
DirectX 付きでコンパイルできないってんじゃないだろうな……。
1.2.7 の時の話だから、今はまた少し事情が違うかもしれないけど、
手元で確認した限りだと 1.2.8 も BCC VC 共にそのままではコンパイル不可。
もう Cygwin でしかテストしてないのかね。
781(6): 名前は開発中のものです。 [sage] 2005/05/07(土) 13:39:48 ID:HNMZWJUh(1/2) AAS
はじめまして。早速ですが質問させてください。
現在がSDL_Surfaceに画像を読み込もうと次のようなコードを書いています。
FILE *fp = fopen( "pic/pic.bmp", "rb" );
if ( fp ) {
SDL_RWops *rwops = SDL_RWFromFP( fp, 0 );
SDL_Surface *surface = IMG_Load_RW( rwops, 1 );
}
ですがIMG_LoadRW()の部分でエラーが出てしまいます(ハンドルされていない
例外はsdltest.exe(NTDLL.DLL)にあります 0xC0000005Access Violation)。一方、
SDL_Surface *surface = IMG_Load_RW( SDL_RWFromFile( "pic/pic.bmp", "rb" ), 1 );
とした場合には正常に読み込めてその後画像を表示することも出来ました。
出来ればファイルポインタから読み込んで表示させたいのですがエラーの原因が
分かる方がいらしたら解決法を教えていただけないでしょうか?
開発環境はWindowsXP Pro、VC++6.0SP5、SDLのバージョンは1.2.8でSDL_imageの
バージョンは1.2.4です。よろしくお願いします。
782(4): 名前は開発中のものです。 [sage] 2005/05/07(土) 16:26:55 ID:tQ5vRoic(1) AAS
>>781
/src/file/SDL_rwops.cの230行あたりを見てるみと
#ifdef WIN32
if ( ! in_sdl ) {
SDL_SetError("You can't pass a FILE pointer to a DLL (?)");
/*return(NULL);*/
}
#endif
となっていてDLLではSDL_RWFromFPは使えないようです。
たぶんSDL_GetErrorでエラーが拾えると思います。
Static Linkすれば使えるのかもしれませんが、試したことはありません。
799(3): 名前は開発中のものです。 [sage] 2005/06/27(月) 08:01:33 ID:3Ab5ewvX(1/2) AAS
質問です。
2つあるんですが、
1個目、SDLの標準機能で2枚目のウインドウを作ることってできるんでしょうか?
2個目、SDLの標準機能でC言語標準のscanfやらfgets(from stdin)やらのように、ユーザーに要求を求めるようなことって可能でしょうか?
2個目は1個目ができればハードコードで作ることも可能そうですが、ちょっと面倒な気がします。
よろしくお願いします。
808(9): 名前は開発中のものです。 [] 2005/07/05(火) 04:30:00 ID:zWniNiIr(1/10) AAS
640*480*32(bpp)の画像を1枚表示するだけで60FPS前後なんですが描画が遅いのは何が原因なんでしょう?
それともこれが限界ですか?
初期化は
SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_ANYFORMAT);
こんな感じでSDL_FillRect()せずにSDL_BlitSurface()してからSDL_Flip()。
環境は
Pentium4 2.4G
GeForce4 ti4400
811(5): 名前は開発中のものです。 [sage] 2005/07/05(火) 14:08:42 ID:1ZePfTMa(1/3) AAS
>>808
せめて実行可能なコードを出せよ…
SDL_Flipだけで130FPSってのは遅すぎるのでどこかが間違っていると思われ
とりあえず SDL_SetVideoMode()の戻り値のSDL_SurfaceとBlitしている画像
のSDL_Surfaceのflagsやformatをチェックして期待通りかどうかチェックしれ
839(4): 名前は開発中のものです。 [] 2005/07/31(日) 00:02:44 ID:quLBISXO(1/2) AAS
mac版のゲームを配布する場合はスタティックリンクするしかないかな?
となるとソース公開しなきゃ(’A`)
859(4): 名前は開発中のものです。 [sage] 2005/08/10(水) 21:58:53 ID:sHNa10sC(1) AAS
とりあえず、
while ( nowTime - preTime < 16 )
{
SDL_Delay( 0 );
}
のほうがいいよ
タイマの精度に期待出来ないことも多々あるんで、待ちすぎが起こりやすいから
925(11): 名前は開発中のものです。 [sage] 2005/10/15(土) 04:46:42 ID:xL4TCgUt(1) AAS
>>923923(2): 名前は開発中のものです。 [sage] 2005/10/14(金) 18:43:07 ID:kCsY6VJS(1) AAS
UTF8のファイルから読み込んだ文字列をひとつのサーフェイスにして
描画する方法が分かりました。
しかし、その文字列を一文字ずつ描画したい場合(ドラクエのように人に話すと
表示されるメッセージのように)は人文字ずつサーフェイス作っていって
フレームカウントをして表示速度の制御をしながら描画するのがいいんでしょうか?
後、UTF8だと日本語1文字が何バイトなのかって固定されてないので、すごく難しいんですが。
アイディアください。
むしろ
>UTF8のファイルから読み込んだ文字列をひとつのサーフェイスにして描画する方法
を教えてください
946(3): 名前は開発中のものです。 [sage] 2005/11/06(日) 17:47:38 ID:HW9Qh6Q9(1/2) AAS
>>945945(1): 名前は開発中のものです。 [sage] 2005/11/05(土) 20:50:59 ID:4J6RfiW+(1) AAS
borland C++ compilerでSDL_gfxを導入したいんだけど、導入方法が
分からないので、教えてほしいのですが。
こんな感じで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
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.054s