[過去ログ]
SDLスレ (987レス)
SDLスレ http://echo.5ch.net/test/read.cgi/gamedev/1005469181/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
450: 名無しさん@そうだ選挙に行こう [] 04/07/11 09:59 ID:E7W22GHh >>455がどんな解決方法を示してくれるのか。気になって夜も眠れない。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/450
451: N速に書き込めません。 [N速に書き込めません。] 04/07/11 10:18 ID:wvsVVX1k N速に書き込めません。 何とかしてください http://echo.5ch.net/test/read.cgi/gamedev/1005469181/451
452: 名無しさん@そうだ選挙に行こう [sage] 04/07/11 12:11 ID:/yFc1fy2 >>452 そんなときはあれだよ。 あれ。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/452
453: 名前は開発中のものです。 [sage] 04/07/12 00:37 ID:A2nXW2No 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 をオーバーロード してるのに型変換してくれないんでしゅか。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/453
454: 453 [sage] 04/07/12 00:39 ID:A2nXW2No s/しゅか/しょうか/; # ○| ̄|_ http://echo.5ch.net/test/read.cgi/gamedev/1005469181/454
455: 名前は開発中のものです。 [sage] 04/07/12 01:05 ID:1R+yHQE6 >>453 > Kanji_PutText( ... , screen, ... ); // screen は CSDLSurface Kanji_PutText( ... , screen(), ... ); じゃないかい? http://echo.5ch.net/test/read.cgi/gamedev/1005469181/455
456: 453 [sage] 04/07/12 01:29 ID:A2nXW2No >>455 screen()とやると、"関数には評価されません" と言われてしまいます、、 それと453に間違いがもう一つ > Kanji_PutText( ... , screen, ... ); // screen は CSDLSurface screenは CSDLSurface* です http://echo.5ch.net/test/read.cgi/gamedev/1005469181/456
457: 名前は開発中のものです。 [sage] 04/07/12 09:21 ID:d4JCqMcp >>456 > screenは CSDLSurface* です じゃ、 Kanji_PutText( ... , (*screen)(), ... ); Kanji_PutText( ... , screen->operator(), ... ); のどっちかじゃない? http://echo.5ch.net/test/read.cgi/gamedev/1005469181/457
458: 453 [sage 長くなってごめんなさい。] 04/07/12 23:23 ID:A2nXW2No >>457 どうもお手数かけてしまってすみませんでした。 Kanji_PutText(..., screen->operator SDL_Surface*(), ...); でコンパイルは通ったんですが、よく考えてみるとどうやらscreenがポインタ であることが原因だったようで、 CSDLSurface screen; // ポインタにするのをやめた ... Kanji_PutText(..., screen, ...); みたいに、普通にクラスを渡せばちゃんと SDL_Surface* に変換してくれるんですね。 これってC++の基本ですか? 恥ずかしいかも。 でもなんか、クラスをポインタでなく保持するのはよろしくない、みたいな文章をどこかで 読んだ気がして、それが引っかかってなんか気が進まないです、、 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/458
459: 名前は開発中のものです。 [sage] 04/07/13 00:35 ID:yFmAkR9z gcc version 3.2 (mingw special 20020817-1)で実験してみた。 大体予想通りの結果?長文スマソ。 #include <iostream> using namespace std; class Foo {}; class Bar { Foo foo; public: operator Foo*() {return &(this->foo);} }; void hoge(Foo* p_foo_) { cout << p_foo_ << endl; } int main(int argc,char* argv[]) { Bar bar; Bar* p_bar = &bar; hoge(bar); // hoge(bar()); // no match for call to `(Bar) ()' // hoge(p_bar); // cannot convert `Bar*' to `Foo*' for argument `1' to `void hoge(Foo*)' hoge(*p_bar); // hoge((*p_bar)()); // no match for call to `(Bar) ()' // hoge(p_bar->operator()); // `class Bar' has no member named `operator()' return 0; } http://echo.5ch.net/test/read.cgi/gamedev/1005469181/459
460: 名前は開発中のものです。 [sage] 04/07/13 03:32 ID:P6ImUkzN foo* operator() と operator foo*() は違う http://echo.5ch.net/test/read.cgi/gamedev/1005469181/460
461: 名前は開発中のものです。 [sage] 04/07/13 03:58 ID:szTJAEHM >>453 ポインタなら単純に参照を外すだけでいい Kanji_PutText( ... , *screen, ... ); ただ、暗黙のキャストは怖いから、 楽しようと考えている程度なら、素直にGetterを作った方が良いと思う。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/461
462: 453 [sage] 04/07/13 23:44 ID:KSTvEm7j ポインタの参照先を渡したらうまくキャストしてくれました。でも、仰るとおり 暗黙の型変換を故意に狙うのはよくないですね。それに、*screen で返って くるのがポインタってのも直感的でないですし。結局 SDL_Surface* GetSurface() const { return surface; } を加えました。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/462
463: 名前は開発中のものです。 [sage] 04/07/21 22:14 ID:yROlyeHQ 概念の質問になって申し訳無いんだが surfaceって、オブジェクト毎に作って良いんだろうか? 今まで俗に言うスプライトみたいな扱い方してたんだが。 背景なら背景で、画像合成させて1つのsurfaceにするのが普通なんだろうか? http://echo.5ch.net/test/read.cgi/gamedev/1005469181/463
464: 名前は開発中のものです。 [sage] 04/07/22 01:54 ID:OPZjuMp0 >>463 とりあえず質問の意味がさっぱりわからん… http://echo.5ch.net/test/read.cgi/gamedev/1005469181/464
465: 名前は開発中のものです。 [sage] 04/07/22 12:31 ID:sx+OGorQ 分からないなら黙っててください。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/465
466: 名前は開発中のものです。 [sage] 04/07/22 14:51 ID:xASuzJAT 煽りキター http://echo.5ch.net/test/read.cgi/gamedev/1005469181/466
467: 名前は開発中のものです。 [sage] 04/07/22 17:39 ID:mpU5Xpvs 普通かどうかはベンチマークで決めればいい http://echo.5ch.net/test/read.cgi/gamedev/1005469181/467
468: 名前は開発中のものです。 [sage] 04/07/22 20:26 ID:jpCxn5GA >>463 漏れも何を聞いとるのかよう判らんのだが取り敢えず、 喪前さんの考える「Surface を一つにまとめることの長所」を教えてくれんかいの。 察するに割とどっちでもいいような気がするんだが……。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/468
469: 名前は開発中のものです。 [sage] 04/07/22 21:25 ID:NOi9FMd0 >>463ではないが、複数の領域をバラバラに確保/解放することによる オーバーヘッドやメモリの断片化による効率低下などがあるのか? ってところじゃないんですかね。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/469
470: 名前は開発中のものです。 [sage] 04/07/22 21:27 ID:mpU5Xpvs Photoshopでレイヤーを統合するかしないかくらいの意味合いだろ http://echo.5ch.net/test/read.cgi/gamedev/1005469181/470
471: 463 [sage] 04/07/22 22:21 ID:mBKaU+OV 試してみますた。 スクロールする背景部品3つを自分で合成したのと そのままほっといて普通に処理させた方で試してみた。 結果、そのままほっといて普通に処理させたほうが早かった… つまり、俺の書い処理の方がヘッポコでした。 メモリ使用量・動作速度でのメリットは全く無し、またsurfaceの数が 多すぎて判らなくなるなら、管理体制そのものを見直す方が良いっぽいです。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/471
472: 名前は開発中のものです。 [sage] 04/07/22 22:42 ID:xASuzJAT >スクロールする背景部品3つを自分で合成したのと 人間ダブルバッファをしたってこと? http://echo.5ch.net/test/read.cgi/gamedev/1005469181/472
473: 名前は開発中のものです。 [sage] 04/07/23 01:31 ID:k28imbO0 サーフェイス毎にヘッダとか余計な情報が入るだろうから なるべく種類ごとぐらいにまとめておいた方がいんでないの とSDL使ったこと無いやつが言ってみるテスト。 http://echo.5ch.net/test/read.cgi/gamedev/1005469181/473
474: 名前は開発中のものです。 [] 04/07/26 13:45 ID:cbiqvpsK SDLの入門のHPない? http://echo.5ch.net/test/read.cgi/gamedev/1005469181/474
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 513 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s