1 名前:名前は開発中のものです。 mailto:sage [2010/10/04(月) 17:24:47 ID:zBoueRHu] Cを習得した程度のスキルでも、 GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 homepage2.nifty.com/natupaji/DxLib/ 【過去スレ】 DXライブラリ 総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1197468399/ DXライブラリ 総合スレッド 2008 pc11.2ch.net/test/read.cgi/gamedev/1224923873/ DXライブラリ 総合スレッド その3 pc11.2ch.net/test/read.cgi/gamedev/1238429676/ DXライブラリ 総合スレッド その4 pc11.2ch.net/test/read.cgi/gamedev/1249822550/ DXライブラリ 総合スレッド その5 pc11.2ch.net/test/read.cgi/gamedev/1259912953/ DXライブラリ 総合スレッド その6 hibari.2ch.net/test/read.cgi/gamedev/1267108154/
829 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 11:34:41.26 ID:i8Eo6Mya] 単純に疑問かもしれないのに 一体何と戦ってるの?
830 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 12:31:16.83 ID:llK7EsEr] 質問の意図次第かな ・DXライブラリを使ったゲーム開発において、 組み込みスクリプト言語を導入することでのメリットとは何か ・DXライブラリ+組み込みスクリプト言語 を用いたゲーム開発において、 ほかの組み込みスクリプト言語に比べてのluaの優位性とは で回答は変わるわな
831 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 12:45:40.80 ID:DM00gsqn] DXライブラリは基本的には描画がメインだからなぁ 組み込みスクリプト使うような規模の作品になれば、描画をフレームワーク化するのは当然になるし、 有用な組み合わせとしては「DXライブラリ+スクリプト」というよりは「自作フレームワーク+スクリプト」って感じになって、 DXライブラリを使うかどうかって所はあまり関係しない気がする
832 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 13:35:39.83 ID:eTqHkKj4] いや、DXライブラリとLuaを組み合わせたら最強とかあったから、 何か他のものとは違う特別なメリットが得られると思った次第。 言葉足らずでごめん。 別にそういうのは無い感じなのかな?
833 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 13:38:49.16 ID:enInS/6/] 単に開発が楽ってだけだろ Luaじゃなしに組み込みスクリプト言語ならそんなに変わらん 速度面・普及面じゃLua一択だが
834 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 15:04:09.36 ID:8F4iVscQ] DXライブラリで開発してる人は、大なり小なりフレームワーク的なものを組んでるような気がする。 この辺の情報ってあんまり出ないよね。
835 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 15:26:33.72 ID:/pRzzwPn] 単に、Tonyu systemみたいな環境を自分で作れたら夢が広がりんぐ 程度の意味だと思うよ
836 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 17:22:25.72 ID:E0NawrDD] Luaの場合は構文やクセの把握をしておけばまたどこかで役に立つ可能性があるくらいには普及してる どっかの誰かが作ったほとんど使われてないスクリプ言語はそういったトライアンドエラーを他の環境で活かせる度合いが小さい ・・・程度の差はあるね まあ損しないことばかり考えてると何も作れないんだがなw
837 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 20:31:19.79 ID:0j1IiD9M] DxLibはゲームライブラリって感じじゃないからなぁ
838 名前:名前は開発中のものです。 mailto:sage [2011/02/26(土) 21:07:57.84 ID:HzAF130I] そろそろスレチ
839 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 09:19:22.82 ID:OH7ge9Jj] DXライブラリとフレームワークについては興味あるなあ まぁこれもDXライブラリに限らない話だからスレチかな
840 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 09:35:38.18 ID:tW/E8A8B] 良くも悪くもラッパーライブラリだしな、フレームワーク必須に近い それなりの規模なゲームを作ろうとしたら自前実装だらけになる
841 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 09:46:08.08 ID:0L5aKjyl] ゲームフレームワーク作るなら、DXライブラリで楽できる分なんて 作業全体の中では少ないから結局自分でやっても変わらん
842 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 10:13:30.78 ID:TzpLKbBT] >>841 いや、割と結構な部分省けるべさ レンダリングフレームワークを作る手間がまるまる消えるんだし
843 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 13:46:42.55 ID:9Fl/vGOB] DXライブラリの上に自前フレームワークを作るのなら DirectXの余計なことに頭を使わなくてすむ。 クラス設計とかだけを考えれば良いからすごい楽になる。 ってか楽になった。 俺はもうDeviceLostと格闘するのは嫌だわ・・・
844 名前:名前は開発中のものです。 mailto:sage [2011/02/27(日) 15:10:27.18 ID:aZ0j/EAR] >フレームワーク ベースの部分を、DXライブラリとそうでないものとで切り替えられると良いんだろうけどな。
845 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 00:54:47.81 ID:u6ffonYs] BGMのループポイントの話だけど、ループポイントの設定の仕方がミリ秒とサンプルとバイトの3つあるけど、 それぞれメリットデメリットってあるの? 細かさは バイト>サンプル>ミリ秒 なのはいいとして、やっぱバイト単位とかのほうがミリ秒と違って再生環境によるズレが無いのかな? バイトってなんかこうファイルを直接見てる感じがするからそんな気がするのよ。 もしそうじゃなくて「ミリ秒でずれるときはバイトでもずれる」とかなら俺的には バイトのメリットが無いからもうミリ秒でいいやって話になるわけよ。 どうせ10ミリ秒ぐらいの違いじゃあわかんないし俺。 というか ttp://izuministrator.com/ref/ によると SetLoopPosSoundMem でバイトでの指定ができるはずなんだけど、なぜかミリ秒指定と同じ動きになっちゃってるから バイト指定できなくて困ってるのよね。 長文スマソ
846 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 21:23:00.01 ID:J7GxD6/6] 公式のリファレンスでは、現在SetLoopPosSoundMemはミリ秒指定用の関数になってるね ミリ秒でもズレないからミリ秒でやったほうがいいと思うよ コード見たわけじゃないけど、多分内部では計算して単位揃えて同じ動作で動いてると思うし バイトやサンプル数だと、周波数とか変えたとき変更しなきゃなるし、メリットは殆ど無いって言っていい
847 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 23:38:04.82 ID:EReXQxMM] なるほどありがとう。 しかしまぁ公式リファレンスは int GetCurrentPositionSoundMem( int SoundHandle ) ; の項目で int SetCurrentPositionSoundMem( int SamplePosition, int SoundHandle ) ; のと同じ説明書いてるし信用できないな。 とりあえず名前が違うのに同じ挙動の関数がある時点で、 どちらかはバイトのほうを実装しようとして間違えたんだと思うけど。
848 名前:名前は開発中のものです。 mailto:sage [2011/03/02(水) 23:57:52.31 ID:qyJBDqiQ] バイト指定なんてしても変なずれ方するだけだし最小単位はサンプルでいいと思うけどそれは置いといて ソースみたところ、SetLoopTimePosSoundMemとSetLoopPosSoundMemの実装が同じコードになってる。多分バグじゃないかな。 メリットデメリットの話で言うなら、それぞれの関数は内部でSetLoopSamplePosSoundMemの実装を呼び出してるだけなので全く同じなはず。
849 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 16:24:34.69 ID:Zh6pP09G] 同じような内容で、引数が違う関数の場合、 片方が他方のラッパーなんだろうな〜と思ってソースを眺めてみると、実は違う場合があったりするよな…。
850 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 17:31:53.66 ID:EV+fS59G] そこら辺揺れるのが非公式関数だからなー そういうのは公式に質問したほうがいんじゃないかな なんらかのリアクションあるだろうし
851 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 21:36:34.77 ID:9izXx4AI] DXライブラリでも、ちゃんと作れば状態遷移を行って帰ってきても1バイトたりとも増えないの? メニュー画面からゲーム画面に行って帰ってくるとメモリ使用量が増えてるんだけど。 ちゃんと各画面において終わる時にInitGraphとInitSoundMem呼んでるしのに。 ファイル読み込み関連はLoadGraphとLoadDivGraphとLoadSoundMemしか使ってないからこれで大丈夫のはずなんだが。 fopenも使ったけどちゃんとfcloseしてるし。mallocの類は全く使ってない。
852 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 21:45:58.98 ID:SaQE7YU5] メモリ使用量って何を見て言ってるの? タスクマネージャなんだったら、ウィンドウを一時的に最小化してみたらいいよ タスクマネージャの数字を減らすのは、自称詳しいユーザーを安心させる程度の意味しかない
853 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 21:55:06.60 ID:9izXx4AI] 最小化すると正しい値が出るの? やってみたけどやっぱ上がったものは上がったままだなぁ。
854 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:03:00.90 ID:UieYMyVE] ループを進めて時間が経ったらメモリ増えなくなるかも知れない。 ある程度のメモリは即開放されずに内部に留められたりするものらしい
855 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:32:31.47 ID:qrLZpjId] 読み込んだファイルはOSが一時的にキャッシュ保存しているよ。
856 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:35:35.10 ID:9izXx4AI] じゃ、じゃあやっぱ気にしなくていいってことかな……うん。
857 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:37:05.63 ID:zB1jyOJI] 状態遷移のたびに際限なく増えてるならメモリリークの可能性大 あともしVista以降だったらタスクマネージャにデフォルトで表示されてるプライベートワーキングセットには DLL側のメモリの使用量は含まれてないよ
858 名前:名前は開発中のものです。 mailto:sage [2011/03/03(木) 23:59:37.80 ID:9izXx4AI] えー……じゃあやっぱ原因探さないとな。ありがとう。
859 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 00:05:04.17 ID:ZZu9fnGE] >>858 何処を見て判断しているか説明しないと、色々出るだけだろ。何処見てるんだよ!
860 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 00:08:06.20 ID:Gm+qWo11] いや、タスクマネージャ……
861 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 00:25:23.10 ID:phAV7U6c] とりあえずゲームループに入って100秒くらい経ってもまだメモリ増えるならアウト
862 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 01:01:17.80 ID:Gm+qWo11] や、やっぱり法則がわからない。 何事も、初めのうちは増えるんだよね。 例えば効果音で、初めのうちは鳴る度にメモリ増えるんだけど、 何度も鳴ってると増えなくなる。 画像の読み込み+表示でもそうみたい。
863 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 01:06:04.38 ID:Gm+qWo11] また肝心な事言い忘れた。 そういうことだから、やっぱループし初めは初めて尽くしだからポンポン増えてくけど、 落ち着けば変わったことが起こらない限り増えない。
864 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 01:07:59.19 ID:Gm+qWo11] 重ね重ねごめんね。誤字 ループし初めは初めて尽くし→ループし始めは初めて尽くし
865 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 01:30:31.12 ID:+Ujkj93Y] ずっと動かし続けてみたら? 数時間プレイし続けただけで落ちたらメモリリークだろうし
866 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 23:09:56.12 ID:3Qrvh8YP] プログラマ諸兄方に教えて頂きたい。 正直、俺のヘボいプログラムを人に見せるのは恥ずかしいけど、 訊くは一時の恥、とサンプルを晒します。 ttp://www.dotup.org/uploda/www.dotup.org1396225.zip.html あくまでサンプルで、適当にやってるところもあるけど、大体において俺はこんな形でゲーム作ってます。 ご覧の通り一応動きはするけど、プログラムの組み方は拙いです。 これをいわゆる普通なやり方に直すとするとどうなりますでしょうか。 特にキャラクターデータやグラフィックハンドルの管理をどうしてるのか、とかが知りたいです。 よろしくお願いします。
867 名前:名前は開発中のものです。 mailto:sage [2011/03/04(金) 23:26:51.42 ID:kgJhX4cx] で、ダウンロードパスは?
868 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 00:21:59.55 ID:wFok8gdI] あ、すみません。書くの忘れてました。 DXlib です。
869 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 00:32:14.95 ID:Yfm7rI7q] やり方に直すって、全部コード書けってことかい? 流石に面倒だぞ ぱっと見たところ、クラスちゃんと使えよと思ったな C++の言語仕様くらいはちゃんと勉強しな あとキャラクタ管理にはリスト構造とか使えばいいと思うよ
870 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 01:28:05.42 ID:1UObIsvi] 拙いという割にはちゃんと細かい処理も関数に分けてて分かりやすいと思う コメント多めなのも良い クラスなんて構造体扱いでも全く構わないよ 全体的にわかりやすいベターCコードって印象
871 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 01:31:08.83 ID:Yfm7rI7q] 構造体扱いなら class Hoge{ public: }; なんてせずに struct{ }; でいいだろ。 そもそも、C++的に書きたいのか、C言語的に書きたいのかってのを言わんと目指すコードが分からんよな。
872 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 01:31:35.11 ID:Yfm7rI7q] struct Hoge{}; だったすまん
873 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 04:19:43.37 ID:/y9kIpiy] >>866 コメントも多いし処理ごとにブロック化されているので 読みやすくて(保守しやすいので)良いと思う。 敢えて言えば、サンプルだからかもしれないけれど 敵のタイプや数はマジックナンバーを使わないほうがいいと思う。 ENEMY_DATA[100]も、#define ENEMY_NUMBERS 100 とかにして まとめてヘッダに定義しておけば可読性もあがるし、敵の数を 変える必要があっても、他の部分(たとえば敵初期化時の forループの所とか)も直さなくていいから、楽になると思う。
874 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 04:21:30.33 ID:/y9kIpiy] >キャラクターデータやグラフィックハンドルの管理 C++で書くつもりなら、ゲーム内のオブジェクトについては まず基底クラス作って、そこから各キャラを派生させて 敵や弾ごとにリストや、マネージャーとなるクラスで 管理しておけば処理や修正も楽だよ。 そうしておけば、サンプルのように描画時に敵のタイプで switchしなくても、たとえば敵リスト->Draw(); みたいに 書くだけでOKだし、もし新キャラを後で追加したくなっても Draw_rtn関数内は何も修正しなくてすむ。 同様に移動処理も、基底クラスのメンバに仮想関数として Move()とか持たして、派生先の各キャラごとに実際の処理を 書いておけば、Move_rtn関数内では 敵リスト->Move(); とかしておくだけですむ。 でも最初にカッチリと複雑なものを作ろうとして、 いつまでたってもゲーム完成できない…というのは最悪なので 当面はこういう感じで書いていくのもいいと思う。 不便や必要を感じたら、その都度勉強したらいいし。 こういった話はDxLibの話とは関係ないし、 C++で書かれているゲーム開発用の入門書のサンプルにたいてい 載ってると思うので何冊か買ってみるといいかも。
875 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 13:47:42.01 ID:lRq0e7jV] しかし管理人様はマジですげーぜ
876 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 16:58:19.71 ID:4fF2MP2u] 同意
877 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 21:00:41.90 ID:+x8oBxgp] 画像のハンドル=ポインタですか?
878 名前:名前は開発中のものです。 mailto:sage [2011/03/05(土) 21:06:11.54 ID:QynImjUh] 違います
879 名前:はじめまして。 [2011/03/06(日) 22:54:57.95 ID:QYrw4Tbt] 確認なのですが、DXLibの描画順序って、コードの順序ですよね? しかし、まずフィールドモデル(mqo)を描画した後、 メタセコイアで透過PNGを貼りつけた板モデル(mqo)を描画すると 板が先に描画されたかのように表示されます。 具体的には、以下のように表示されます。 cdn-ak.f.st-hatena.com/images/fotolife/p/peroon/20110306/20110306223051.jpg?1299418311 どうすればよいのでしょうか?
880 名前:はじめまして。 [2011/03/06(日) 23:00:32.76 ID:QYrw4Tbt] すみません、ちょっと怪しい部分がありますので、 もう少し自分で調べてみます。
881 名前:はじめまして。 [2011/03/06(日) 23:12:39.74 ID:QYrw4Tbt] ミスでした。思い通りに描画できました。 (update()でも描画していたというオチでした。。w)
882 名前:名前は開発中のものです。 mailto:sage [2011/03/07(月) 00:49:57.69 ID:CZyikCNH] 透過処理のポリゴンは大変なんですよ。 Zバッファーへの書込みをしなかったり、Zソートして描画しないといけなかったり。 >>879 は、単にZバッファーに書込みしてるのでそれをOFFすれば、そのシーンだけは 正しく表示されるかな。
883 名前:名前は開発中のものです。 mailto:sage [2011/03/07(月) 19:08:00.52 ID:b7x4k2Cf] Zソートってみんなどうやってるの? 俺とりあえず表示する予定の全モデルの全メッシュを片っ端からキューに入れて メッシュ座標の最大値と最小値の中点求めて それのワールド座標求めてそれのスクリーン座標求めてそれのZでソートかけて描画してる 糞重たそうwwww 最近のPCスペック高いからぜんぜんわかんないけど
884 名前:名前は開発中のものです。 mailto:sage [2011/03/07(月) 19:16:35.82 ID:qzzE/e1x] PlayMovieでGIFアニメの再生が可能、と聞いたのですが
885 名前:名前は開発中のものです。 mailto:sage [2011/03/07(月) 22:14:07.46 ID:xxQTGPDS] なんかFPSが安定しないな〜って思って vsync待ちする時間を1分測ってみたら 60fps目標でで20ミリ秒以上待つフレームが 0.3〜0.6%ほどあるんだけど そういうもんなんかな? BGMとゲーム内容を同期させたいから0.2秒くらいずれると 違和感感じるようになって困っちゃうんだよね
886 名前:名前は開発中のものです。 mailto:sage [2011/03/07(月) 23:05:01.44 ID:SO4RWHi7] >>885 どういうコード書いてるか知らんけど 自分は龍神録のコードのfps制御のとこだけコピペしたらすごい安定したよ
887 名前:名前は開発中のものです。 mailto:sage [2011/03/08(火) 00:37:13.97 ID:3MPvLyMj] >>886 簡単なテストコードなんだけどね〜 前回ScreenFlipした直後と 今回ScreenFlipした直後の間の時間を求めるだけの 自分の環境だけなのかどうか判断したいんで ちょっと試してみてくれんかな? ウィンドウモード時とフルスクリーンモード時の二つ ソースも一応いれといた www1.axfc.net/uploader/Sc/so/212454 パスはvsync フルスクリーンの時のほうがタイムオーバーする回数がだいたい2倍多くなるんだよな〜
888 名前:名前は開発中のものです。 mailto:sage [2011/03/08(火) 00:51:45.04 ID:bFxplNfr] タイムオーバーカウントとやらは ウィンドウ:0〜3回 フルスク:6〜12回 程度。 フルスクは立ち上がりの1秒くらいが不安定っぽいな
889 名前:名前は開発中のものです。 mailto:sage [2011/03/08(火) 00:57:56.84 ID:KY1+fYB9] 関係ないかもしらんが俺の環境ではフルスクリーンだとなぜかVsync待ちすらしてないようでvsync_time: 0.005くらいが出まくってた。カウントは16。
890 名前:名前は開発中のものです。 mailto:sage [2011/03/08(火) 22:22:52.93 ID:3MPvLyMj] >>888 >>889 テストありがとう ん〜、環境によってわりかし違うなぁ どうすべ〜
891 名前:名前は開発中のものです。 mailto:sage [2011/03/08(火) 22:26:55.30 ID:8AuwhuEL] 環境設定で垂直同期オフのタイマー待ちモードを選べるようにしたらいいんじゃないか
892 名前:名前は開発中のものです。 mailto:sage [2011/03/08(火) 22:38:03.07 ID:6A/P0SlX] 似たような話で申し訳ないが、俺もちょっと気になる事が。 俺は垂直同期信号待ちを切ったプログラムを組んでる。 それとは別に、ウィンドウモードかフルスクリーンモードかを記録して、 プルグラム起動時にはその記録を読み込んで、どちらのモードで始めるか決まるようにしてる。 で、ここからが気になる事なんだけど。 フルスクリーンで起動した時は、まったくティアリングが出ないんだけど、 ウィンドウモードからフルスクリーンに切り替えた時は酷いティアリングが発生してしまう。 (フルスクリーンで起動して、一度ウィンドウモードにしてからまたフルスクリーンに戻しても同じ) 普通に考えたら垂直(略)待ちしてなければティアリングは発生して当たり前なんだから フルスクリーン起動時の方が特殊なんだろうか?? 他の人でこういう現象を経験した人っていますかね。
893 名前:名前は開発中のものです。 mailto:sage [2011/03/08(火) 23:27:50.64 ID:hpvVdE5K] >>886 に同じ
894 名前:名前は開発中のものです。 mailto:sage [2011/03/09(水) 00:22:43.32 ID:rJmaFgi1] >>892 フルスクリーン → ウィンドウモード → フルスクリーン の時の動作が良くわからんなあ。
895 名前:名前は開発中のものです。 mailto:sage [2011/03/09(水) 00:50:26.09 ID:OL3/YmmT] >>892 その様な話を聞いた気がする。新しいので治っていたような…と曖昧な記憶があった。
896 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 05:50:27.58 ID:6m0CA7fb] グラフィックの白い部分は濃度100%で、灰色の部分は濃度50%で描画したいんだけど、いい方法ないかな? そうしたいグラフィックをhoge_a.bmpにして真っ白いhoge.bmpも用意してhoge.bmpのほうを描画するようにすればいいんだろうけど あんまスマートじゃないよね。
897 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 06:16:14.89 ID:FAQ2zmRE] それ加算合成じゃね?
898 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 07:04:03.90 ID:6m0CA7fb] 違うのよね。例えば描画しようとした場所が元々、色(255,128,0)だったら 白い所は色(255,255,255)になって灰色(128,128,128)の所は色(255,192,128)になって、黒いところは色(255,128,0)のままって感じ。 ようはアルファブレンドの濃度を画像から読み込みたいの。 DrawGraph系はそれがデフォで実現できるんだけど。
899 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 07:18:31.39 ID:vOLR/zA1] 素直に>>896 に描いた通りに画像を用意するか、そういう透過度のPNG画像を用意するかだね PictBearとかあればぐその通りのPNG生成できるし
900 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 07:24:22.95 ID:6m0CA7fb] ああーPNGかぁ……そういえばそんなのもあったねぇ。 16色BMPしか使った事無かったからその発想は無かった。
901 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 07:25:05.24 ID:6m0CA7fb] 言い忘れた。 回答ありがとうございました。
902 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 07:26:03.94 ID:vOLR/zA1] 16色BMPっていつの時代だよw
903 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 07:37:10.25 ID:6m0CA7fb] いやなんかこう、描いたまんまなのが保障されて信用できるっていうか。 (0,0,0)だけが透過されるってわかりやすいし。元々俺ドット絵しか描けないし。 でもPNGって色情報とその色が何ビット連続で続くかっていうデータ構造なんだっけか? それなら見た目は変わらないだろうしそのほうがサイズ的にもいいんだよね。 いや前から気付いてたんだけどね、めんどくさいからずっとそのままでやっての、ごめん。
904 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 09:38:01.41 ID:jQ8f/olW] PNGは基本的にはピクセルのデータをzip圧縮してるだけ 可逆圧縮だから絶対に全てのピクセルが描いたままの色になる
905 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 12:34:25.51 ID:+yprSrry] 俺も最初bmpでやってたけどpngにしたら かなり表現したいものが楽で簡単に作れるようになった おすすめ
906 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 12:35:03.98 ID:+yprSrry] 楽で簡単ってなんだよ…orz
907 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 19:59:55.15 ID:6m0CA7fb] やったぁPNGでできたヨーありがと
908 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 20:13:25.51 ID:FAQ2zmRE] PNGでドット絵というなら、pngoutっていうフリーのコンソールアプリケーションでPNGの最適化とかおすすめよ 別にしなくてもいいけど
909 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 20:33:30.41 ID:6m0CA7fb] ということはデフォルトでは最適じゃないってこと? まぁ情報ありがとう。
910 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 21:43:01.44 ID:2JxcKgYY] 圧縮の最適なパラメータ値を探し出すのは わりと時間がかかるからね。
911 名前:名前は開発中のものです。 mailto:sage [2011/03/10(木) 23:01:54.80 ID:eX9JRndm] 男は黙って32bitBMP
912 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 07:33:52.45 ID:gK4E7Ao2] データーがでかすぎじゃん。 最近のゲームはDVD埋めるためにBMP使ってるとしか思えん
913 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 07:45:02.94 ID:fDILOKgF] 最近のゲームってBMPなのか? 違法コピー対策にデータ量水増ししてるという話は聞いたことあるけど
914 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/03/11(金) 07:46:39.43 ID:jcxEZYMy] でも結局実行するときには展開するわけじゃん。圧縮したまま表示できるわけじゃないし。メモリ使用量は変わらんのでしょ?展開処理が省かれる方がいいじゃん
915 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 08:26:21.44 ID:3h44Ixvy] メモリやCPUの少ないPSとかの中期コンシューマ機はわからないけど、 そういった処理能力が十分にある最近のPCは「展開速度<読み込み速度」だと思うのよね 大きいファイルをHDDガリガリ言わせて読み込むよりは、小さい圧縮ファイルをちょいと読み込んで、 高速なメモリやCPUで展開した方が速度的には早いんじゃないかな
916 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 10:50:48.71 ID:plaIhemI] そもそもそんなbmpとかpんg違うだけで変わってくるもんなんか
917 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 10:50:54.67 ID:OccSvVJ3] SDカードからデータを読み込む時マップ移動でめっちゃ遅かったけど 圧縮してみたら物凄い早くなってびっくりした
918 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 10:56:30.82 ID:LEs/Jeuf] そりゃHDDに比べて転送速度がかなり遅いのが多いからな
919 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 11:36:41.06 ID:KcMscP0h] >>884 過去スレにそういう話が出てた。 14ヶ月ぐらい前のレスだったけど、多分 今も再生できると思う。 645:名前は開発中のものです。[sage]2010/01/18(月) 19:34:01 ID:YzUndEty gifアニメ、 PlayMovie()で出来たはず。
920 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 21:37:47.82 ID:plaIhemI] つい2か月前じゃんw
921 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 21:58:57.74 ID:XN7O6btB] ∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
922 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 22:06:30.00 ID:7H8Pgyin] >>890 だけど 結局vsync待ちするのやめて ティアリング発生覚悟で 高精度パフォーマンスカウンタでFPS制御することにしたわ すげー安定した ティアリングも思ったより気にならない
923 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 22:41:51.60 ID:TNQZ9jw4] そういえばVistaか7かでOS側がティアリング防止してるなんて話も聞いたような気がする 垂直同期信号待ちとかもうする必要なさそうだね
924 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 22:44:33.33 ID:7H8Pgyin] >>923 らしいね、オレはXPだから関係ないけどな〜 どういう仕組みでティアリング防止してるんだろ
925 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 22:50:03.08 ID:TNQZ9jw4] ちょっと調べた感じだと、単純に1フレーム遅らせてるだけみたい Vistaでマウスの位置に画像を表示するだけのプログラム動かすとちょっと遅れて付いて来てるような感じを覚えてるなそういえば
926 名前:名前は開発中のものです。 mailto:sage [2011/03/11(金) 22:54:16.60 ID:2Fw05PYB] DWMは画面全体をゲームの画面と同じように描画するんだよ DXライブラリの言葉で説明すると、まず各ウィンドウをそれぞれ別々のグラフィック(テクスチャ)に描いて それをDrawGraphで裏画面に描画した後、垂直同期待ちを行ってから表示する
927 名前:名前は開発中のものです。 mailto:sage [2011/03/12(土) 11:21:42.70 ID:9O79jOON] 管理人さん無事みたいだな
928 名前:名前は開発中のものです。 mailto:sage [2011/03/12(土) 11:26:31.82 ID:f65tMTTN] おお、よかった
929 名前:名前は開発中のものです。 mailto:sage [2011/03/12(土) 11:37:26.12 ID:o3j8l5hp] よかたよかた