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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
461: 名前は開発中のものです。 [sage] 04/07/13 03:58 ID:szTJAEHM(1) AAS
>>453
453(6): 名前は開発中のものです。 [sage] 04/07/12 00:37 ID:A2nXW2No(1/4) AAS
SDL_Surfaceをクラス化してるんですが、例えば SDL_kanji の Kanji_PutText()
みたいに SDL_Surface* を引数に取る関数を呼ぶときに楽しようと思って、
    class CSDLSurface {
        ...
        operator SDL_Surface*() { return surface; }  // surface は SDL_Surface*
などとクラス内に書いたんです。でも
    Kanji_PutText( ... , screen, ... );  // screen は CSDLSurface
とやっても、VC.NETに
    引数を 'CSDLSurface *' から 'SDL_Surface *' に変換できません
と怒られるし、(SDL_Surface*)screen とやってキャストして渡しても、クラスのアドレスが
そのまんま渡ってるみたいでうまくいきません。そもそもなんで operator をオーバーロード
してるのに型変換してくれないんでしゅか。
ポインタなら単純に参照を外すだけでいい
Kanji_PutText( ... , *screen, ... );

ただ、暗黙のキャストは怖いから、
楽しようと考えている程度なら、素直にGetterを作った方が良いと思う。
462: 453 [sage] 04/07/13 23:44 ID:KSTvEm7j(1) AAS
ポインタの参照先を渡したらうまくキャストしてくれました。でも、仰るとおり
暗黙の型変換を故意に狙うのはよくないですね。それに、*screen で返って
くるのがポインタってのも直感的でないですし。結局
    SDL_Surface* GetSurface() const { return surface; }
を加えました。
463
(4): 名前は開発中のものです。 [sage] 04/07/21 22:14 ID:yROlyeHQ(1) AAS
概念の質問になって申し訳無いんだが

surfaceって、オブジェクト毎に作って良いんだろうか?
今まで俗に言うスプライトみたいな扱い方してたんだが。

背景なら背景で、画像合成させて1つのsurfaceにするのが普通なんだろうか?
464: 名前は開発中のものです。 [sage] 04/07/22 01:54 ID:OPZjuMp0(1) AAS
>>463

とりあえず質問の意味がさっぱりわからん…
465: 名前は開発中のものです。 [sage] 04/07/22 12:31 ID:sx+OGorQ(1) AAS
分からないなら黙っててください。
466: 名前は開発中のものです。 [sage] 04/07/22 14:51 ID:xASuzJAT(1/2) AAS
煽りキター
467: 名前は開発中のものです。 [sage] 04/07/22 17:39 ID:mpU5Xpvs(1/2) AAS
普通かどうかはベンチマークで決めればいい
468: 名前は開発中のものです。 [sage] 04/07/22 20:26 ID:jpCxn5GA(1) AAS
>>463
漏れも何を聞いとるのかよう判らんのだが取り敢えず、
喪前さんの考える「Surface を一つにまとめることの長所」を教えてくれんかいの。

察するに割とどっちでもいいような気がするんだが……。
469: 名前は開発中のものです。 [sage] 04/07/22 21:25 ID:NOi9FMd0(1) AAS
>>463ではないが、複数の領域をバラバラに確保/解放することによる
オーバーヘッドやメモリの断片化による効率低下などがあるのか?
ってところじゃないんですかね。
470: 名前は開発中のものです。 [sage] 04/07/22 21:27 ID:mpU5Xpvs(2/2) AAS
Photoshopでレイヤーを統合するかしないかくらいの意味合いだろ
471: 463 [sage] 04/07/22 22:21 ID:mBKaU+OV(1) AAS
試してみますた。

スクロールする背景部品3つを自分で合成したのと
そのままほっといて普通に処理させた方で試してみた。

結果、そのままほっといて普通に処理させたほうが早かった…
つまり、俺の書い処理の方がヘッポコでした。

メモリ使用量・動作速度でのメリットは全く無し、またsurfaceの数が
多すぎて判らなくなるなら、管理体制そのものを見直す方が良いっぽいです。
472: 名前は開発中のものです。 [sage] 04/07/22 22:42 ID:xASuzJAT(2/2) AAS
>スクロールする背景部品3つを自分で合成したのと
人間ダブルバッファをしたってこと?
473: 名前は開発中のものです。 [sage] 04/07/23 01:31 ID:k28imbO0(1) AAS
サーフェイス毎にヘッダとか余計な情報が入るだろうから
なるべく種類ごとぐらいにまとめておいた方がいんでないの
とSDL使ったこと無いやつが言ってみるテスト。
474: 名前は開発中のものです。 [] 04/07/26 13:45 ID:cbiqvpsK(1) AAS
SDLの入門のHPない?
475: 名前は開発中のものです。 [sage] 04/07/26 15:46 ID:Z8i+sT7Z(1) AAS
サンプルを物凄い勢いで弄るのがいいらしいよ。
476: 名前は開発中のものです。 [sage] 04/07/29 02:24 ID:kbrPCy1U(1) AAS
結局SDLは元々使うのがそんなに難しいライブラリじゃないし、
標準で付いてくるサンプルも充実してて解かりやすいから、
入門ページをわざわざ作る人があまりいないのかな、とオモタ。
477
(2): 名前は開発中のものです。 [sage] 04/08/02 11:44 ID:uIIM7zIN(1) AAS
みなさんはキーリピートってどう実装してますか?
落ちものゲーとか作るときって結構これがUIに関わってきますよね。
キーが押された時刻を覚えておいて、押されっぱなしのままX_秒経ったら
キーがまた押されたことにする、とかするんでしょうか。
SDL_EnableKeyRepeat()みたいなのもあったんですがうまく動いてくれないんですよね・・
478: 名前は開発中のものです。 [sage] 04/08/02 21:19 ID:1kimllXS(1) AAS
>>477
> キーが押された時刻を覚えておいて、押されっぱなしのままX_秒経ったら
> キーがまた押されたことにする、とかするんでしょうか。
うん。
479: 名前は開発中のものです。 [sage] 04/08/02 23:13 ID:5gOr47iA(1) AAS
>>477
自前で処理、に一票。
どっちみちキーボードとジョイスティックの両方で操作可能にしたいから、
自分で適当にラッパー書くのが楽だと思う。
480: 名前は開発中のものです。 [sage] 04/08/06 12:10 ID:fX1V4XLW(1) AAS
SDL_mixerのMix_OpenAudioのバッファ値少なくすると
環境によっては激しく音質悪化するね…
だからといってバッファ多くすると遅延が・゚・(ノД`)・゚・。
481: 名前は開発中のものです。 [sage] 04/08/07 17:44 ID:wc7qHVar(1) AAS
SDL_mixerが性能面でイマイチなのは、わりと周知の事実なのかも。

そんなわけで、いっそSDL_sound + OpenALとかでシステム組んで
公開してくれたりすると嬉しいです(と、人まかせ)。
482
(1): 名前は開発中のものです。 [sage] 04/08/07 18:00 ID:sO/xVe9h(1) AAS
SDL_sound 2.0 の草案が出たらしいね。
外部リンク:zinnia.dyndns.org
草案の本体がどこにあるのかちょっとわからなかったんだけど、
やるとしたら2.0の様子を見た方がいいんじゃないかな。
483: 名前は開発中のものです。 [sage] 04/08/08 12:36 ID:n15LlEy5(1) AAS
>>482
まだ草案段階なんだったら、待つ必要ないんじゃない?
これから、

細部の詰め -> α -> β -> リリース

と行くと何年後になるやら。
484
(4): 名前は開発中のものです。 [sage] 04/08/09 19:20 ID:lqi/7vlX(1/2) AAS
Ruby/SDLでメモリ上にある任意のフォーマットの画像データ表示するにはどうしたらいい?
Rubyで生成した画像データをGUIに表示したいんだけどdraw〜なメソッドで描いていたらやたら時間がかかりそうだし
Surface.loadはファイルしかロードできないし…
485
(1): 名前は開発中のものです。 [sage] 04/08/09 22:02 ID:suCCLB3h(1) AAS
>>484
Ruby/SDL はよくしらないけど、
SDL_CreateRGBSurfaceFrom に相当するメソッドは存在しないの?
SDL_CreateRGBSurface は SDL::Surface.new に置き換わっているようだけど。
1-
あと 502 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s