1 名前:名前は開発中のものです。 mailto:sage [2011/04/03(日) 17:17:11.99 ID:liTmPO3j] 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/ DXライブラリ 総合スレッド その7 hibari.2ch.net/test/read.cgi/gamedev/1286180687/
260 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 02:26:03.19 ID:Q+cfEXU/] dxライブラリで物足りなくなったら大人しくdirectx直叩きに移行するかなぁ
261 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/08(日) 14:34:35.09 ID:RMol3l5C] やっぱり読み込む画像のサイズが小さい方が描画速度が速いようだぞ 画像を読み込むときに画像を16x16毎に分けて個別に配列に格納して描画するようにしたら めっちゃ早くなったわ。処理を見直すよりよっぽど効果があるわ。 画像が小さい方がビデオメモリに画像データをキャッシュさせやすくなるとかなのかな。
262 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 14:43:22.94 ID:RBZRN1AF] 例えば横513ピクセルだと1024まで拡張しちゃう的ななにかかもしれない
263 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/08(日) 14:50:31.40 ID:RMol3l5C] なんでソフト屋様がハード仕様を意識してコーディングしないといけないんだよふざけんあよ
264 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 14:58:04.98 ID:jie80BC+] 高級言語プログラマ様はお偉くていらっしゃるw
265 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 15:01:59.49 ID:RBZRN1AF] と思ったけどDxライブラリってそこ勝手に分割してくれるとかなんとか フラグ建てないとだめなんだっけ?そんな感じの記述をどっかで読んだ覚えが
266 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 15:03:18.18 ID:zclMRG66] というよりそんなことしないといけないような重いプログラムのほうが問題だったりしないか
267 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 15:07:00.89 ID:u3+kLa6f] 軽くできるなら軽くだぜ
268 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 16:06:55.79 ID:rUzvphcT] DXライブラリの通信プログラムを触ってゲームつくりたいんだけど 詳しく載ってるサイトない?
269 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 16:40:31.79 ID:4k77N9pL] 軽くできるならそうすべきだけど、他に原因があんじゃね?って話だよな 普通に考えるとBlt回数減らした方が早いと思うんだけど
270 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/08(日) 16:46:24.33 ID:RMol3l5C] いや16x16のマップチップを画面左上から右下方向に順に画面全体に表示させるということをやっていて、 マップチップ画像全体を読み込んで表示位置をIDに従って切り替えるんじゃなくて 16x16毎に画像を切って読み込んだら早くなったっていうことなんだけど、 Blt回数減らせるかね?
271 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 17:05:45.08 ID:zclMRG66] >>270 以前は一部だけ描画する関数を使ってたってこと? それなら比較すれば早くなるだろうけど
272 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/08(日) 17:13:04.05 ID:RMol3l5C] >>271 マップチップ画像の事をマップ画像だと思ってる? マップ画像は持ってなくて、マップチップ画像からチップIDに従って16x16を抜き出して適切な位置に表示してる 描画回数はどちらも(ウィンドウの幅/16)*(ウィンドウの高さ/16)回ですよ
273 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 17:21:00.55 ID:6HW1OX7i] DrawRectGraph? それとも1マス毎にDerivationGraph+DrawGraph?
274 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/08(日) 17:24:04.24 ID:RMol3l5C] DrawRectGraph
275 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 17:37:06.78 ID:6HW1OX7i] マップチップ画像をLoadDivGraphで分割読み込みすればDrawRectGraphより速くない? あ、でもマップチップ画像が2のn乗サイズじゃないと重いかも マップチップ画像のサイズは幅・高さ何?
276 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 18:40:29.78 ID:4k77N9pL] 大きな画像があってそれを分割転送してるのかと思って。マップ並べる話ね。ごめん 俺はLoadDivGraphだと元画像でチップの境目がわからなくなるので、 普通にLoadGraphしてDerivationGraphでチップに切り分けるLoad関数を作って使ってる 線引いて格子状にした上と横に番号振った画像用意すると、どこに何が割り当たってるのかわかりやすいので
277 名前:名前は開発中のものです。 mailto:sage [2011/05/08(日) 19:47:03.68 ID:0iFMBARD] 格子&ナンバリングした画像を用意するのと、LoadDivGraph云々の関係が分からなかったorz
278 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 03:05:02.19 ID:jLb61kJW] >>277 LoadDivGraphだけで画像分割ロードを一括して行なった場合 画像内全てに対して切り出しを行うから格子だのナンバリングだの落書きできるスペースがない でもLoadGraphしてDerivationGraphした場合は好きな場所から切り出すことができるので 画像内に落書きしてあっても利用したい画像同士が離れていても問題ない
279 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 08:00:21.68 ID:BAc8nyqH] この話ってすごく有益な情報じゃね? なのにこんがらがってよくわからん…
280 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 10:49:02.99 ID:cCCnXiw+] なんとなく分かったような分からんような。 画像を出してくれれば一発な気がする。
281 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 18:24:49.96 ID:W/56kxUa] はい、こんなん これの黒く塗りつぶされた所を32*32で切り出すのはLoadDivGraphじゃ出来ない ttp://gmdev.xrea.jp/st/up/270.png
282 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 18:31:07.26 ID:QRzj4t2Z] 最初っから言ってることは理解できるけど、 それをやる意味が理解できない。 配布するときは画像差し替えるのか? 面倒だし意味なくね。
283 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 18:36:42.25 ID:5OamKCzT] 改善前と改善後のコード貼ってくれよもう お前の脳内を知ってること前提で話しててわけわからん
284 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 18:41:40.67 ID:nBnRiOww] たぶん、本人の糞コードが一部書き直したら改善されたんだが 本人はなぜ改善されたのかを誤った解釈をしている、というパターン 有益な知見は含んでいそうにない
285 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 19:10:30.39 ID:aNjjzIs9] あなたはすごいエスパーなんですね
286 名前:280 mailto:sage [2011/05/09(月) 20:00:02.26 ID:cCCnXiw+] 画像の方にばかり意識が集中してて、 元々の話題がコードを修正したら速くなったって話だったのを忘れてたぜ! >>281 なるほど、実際に使う機会があるかどうかは別として 確かにLoadDivGraphじゃ難しいな。
287 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 20:17:17.03 ID:ySCJuBxg] ペイントツールのレイヤーで対応できることだな 素材レイヤーだけを出力するだけだし
288 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/09(月) 21:39:19.39 ID:wT+RcLKY] こんだけ説明してんのになんでわかんないんだよ馬鹿か。 読み込む画像サイズが小さい方が高速化するからもともと256x2560(適当)とかのサイズのマップチップ画像を 16x16の小さい画像にプログラム内部で切って分割して読み込んだら早くなったってことだろうがよ。 あと俺はBlt回数減らせるかね?と質問してるわけだが答えてないよね。
289 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 21:45:23.74 ID:aNjjzIs9] min(縦幅, 横幅)を超えない最大の2のn乗サイズの正方形を使えばちょうどいいんじゃないかな
290 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 21:45:44.68 ID:ktFVo4T1] そうだといいですね。
291 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 22:05:01.12 ID:5OamKCzT] Bltとか言ってるのに内部でどういう処理してるのかわかってないように思える 「大きいサイズのマップチップ画像を読み込んでた」のと 「16x16の小さい画像にプログラム内部で切って分割して読み込んだ」っていうのが具体的にどんな処理の違いなのか、 抽象的というか>288の脳内でのみの定義を前提にしてるから理解しにくいんだよ ちなみにブリットに関しては何も変わらない というかこの場合全く関係ないし 正直串の人は頭良く見られてたい馬鹿にしか見えないにゃー やきとりもぐもぐ
292 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/09(月) 22:23:27.58 ID:wT+RcLKY] あっそ。俺の問題は解決したからもうどうでもいい。 情報を提供したところで俺には何のメリットもないし。
293 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 22:26:21.91 ID:4KKSHyv9] DXLIBはもう覚えてないけどたしか配列にして画像ロードするやつでしょ? uv座標の計算をあらかじめしておくだけで画像は分割しないと思うよ。 同じ画像を繰り返し描画(描画時にUV座標で一部を切り出す)をするのが drawIndexedPrimitive()で速いんだから。
294 名前:名前は開発中のものです。 mailto:sage [2011/05/09(月) 22:29:13.88 ID:aBBSVPJM] 正直、全然意味がわからん 1チップが64*64ピクセルで、512*512ピクセルのBMPファイルに8*8チップ分描いた場合、 通常は 「64*64を1チップとして切り出し、ハンドルを64(8*8)個作成する」 が、 「1チップをさらに16分割(4*4)し、ハンドルを1024個(32*32)作成する。描画時は16チップを一まとめに扱う」 ってことか?
295 名前:名前は開発中のものです。 mailto:sage [2011/05/10(火) 02:52:47.39 ID:4bIfXYea] 公式で高速化のことどっかで見たなと思ったら過去ログにあった、No.4の下のほう ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=1162 これ見る限りだとでかい画像にチップを全部書き込んでLoadDivGraphなり DerivationGraphなりで分割使用した方が速いはず
296 名前:名前は開発中のものです。 mailto:sage [2011/05/10(火) 03:13:56.68 ID:yYPVn4qg] まあ串は何か馬鹿なミスをしてたんだろうね
297 名前:名前は開発中のものです。 mailto:sage [2011/05/10(火) 15:30:17.54 ID:wvFcG6sH] ソースコードがわからないから なんとも言えない が正解
298 名前:名前は開発中のものです。 mailto:sage [2011/05/10(火) 15:59:37.85 ID:aOAxsOSy] バカっぽいからバカなミスしてたんだろう が正解
299 名前:名前は開発中のものです。 mailto:sage [2011/05/10(火) 19:44:50.74 ID:CAnL1IGT] あー、ソース見てみたいね 処理時間比較の結果とかも見たい
300 名前:名前は開発中のものです。 mailto:sage [2011/05/10(火) 20:54:36.44 ID:NzTg44Yk] ソースみなくてもDirect3Dの仕組みから見当つくだろ 内部がDirectX9なら
301 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 04:24:06.32 ID:9ismkLgR] 言いたいことが何となく分かった LoadDivGraphだと分けたい画像を同じ大きさの奴を左上からびちっと並べなければならないのを DerivationGraphだと好きな所切り分けられるから例えば>>281 のように分割対象の画像を作れるような自由度があるってわけか
302 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 04:39:39.52 ID:Edc+XOrl] VRAMが勿体無いから普通はみっちり詰めちゃうけどね
303 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 17:51:39.48 ID:aA8kBK8W] 描画時に好きなところ切り分けられるってことは 描画時にUV座標の計算をしているってこと。 画像ロードしたときにUV座標の計算して固定したほうが 割り算いくつか分だけCPUが効率的だけど高速化といえる程ではない。
304 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 18:07:21.05 ID:VewEJgOZ] おまえら何が言いたいんだ? 話題が一本筋通ってそうで良く見えないんだが
305 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 18:09:12.67 ID:4jV7SNpd] 細かいことよりまずはゲームを完成させるのが一番大切ってこった
306 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 18:59:04.32 ID:h1fj69SE] >281のような画像に対応したLoadDivGraph()を作ってみようかな。 使う機会は今のところないけど…
307 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/12(木) 21:22:25.30 ID:HMGMrDcR] ハードウェア的に高速化するって言ってるのにCPUがどうとか言って全然理解して無いじゃん そもそもLoadDivGraphとかDerivationGraphとか俺は言い出してないし。言い出した奴に聞けよ
308 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 22:04:33.07 ID:irldgGJ3] 俺言ってないしとか誰だよこいつ
309 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 22:07:31.47 ID:4jV7SNpd] 串くんの話題と画像の格子とかの話題と2つ同時に進行してたしね どっちも画像分割っていう共通ワードがあったからこんがらがりそうだけど
310 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 22:36:01.96 ID:aA8kBK8W] 串くんて何って思ったけど今ようやくわかった。 おい串やろう! 俺は画像の格子の方にレスしてたんだよ。 お前の画像のサイズだがMSDNによるとD3Dでは 256x256 or 512x512に最適化されてるらしいぞ。 わかったらキンタマに串刺して寝ろ。
311 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 22:56:57.91 ID:aA8kBK8W] >こんだけ説明してんのになんでわかんないんだよ馬鹿か。 >読み込む画像サイズが小さい方が高速化するからもともと256x2560(適当)とかのサイズのマップチップ画像を >16x16の小さい画像にプログラム内部で切って分割して読み込んだら早くなったってことだろうがよ。 >あと俺はBlt回数減らせるかね?と質問してるわけだが答えてないよね。 D3Dでテクスチャを生成するにあたり2の乗数で正方形であることが望ましい。 またビデオカードが高性能であってもD3D9ではテクスチャサイズは2048x2048 ぐらいが限界になっている。 憶測だが、おかしなサイズでテクスチャを生成すると ビデオメモリではなくシステムメモリからテクスチャを 生成して遅くなると思う。
312 名前:名前は開発中のものです。 mailto:sage [2011/05/12(木) 23:23:24.31 ID:14qPV80z] わかったら肛門に串刺して寝ろ。
313 名前:名前は開発中のものです。 mailto:sage [2011/05/13(金) 00:19:05.91 ID:3+q6tBad] つーか、当たり前すぎて即レス付いてるじゃん。 512x512をLoadDivGraphで16x16分割で読み込むのと、 個別読込とで比べて結果とプログラムをアップロードした方が早い。
314 名前:名前は開発中のものです。 mailto:sage [2011/05/13(金) 22:05:51.65 ID:JXtDORBT] 自分で場合分けして、どっちが早いか検証しない時点で お脳の程度が知れるっちゅーことよ
315 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 05:40:57.73 ID:LbEJnxKT] 串w逃亡ww雑魚すぎwww
316 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 05:44:28.43 ID:sOve7iVu] 煽ってやるなよかわいそうだろ
317 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 12:02:41.87 ID:j6rXrtuE] 親切心で情報提供したつもりだったのかもしれないけど 指摘が無かったら誤った情報を発信してしまうところだったね ×同サイズの画像は一つの画像に並べてLoadDivGraphするより個別のファイルにして読み込んだほうが描画が速い ○同サイズの画像は一つの画像に並べてLoadDivGraphしたほうが個別のファイルにして読み込むより描画が速い
318 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 12:21:53.76 ID:5A5xZr5h] DirectXでの質問です 通常、ビュー変換を行うと視点の中心がそのまま画面の中心になると思うんですけど 視点の中心を左にずらし、周辺視野部分を画面の中心に持ってきたいんですけど どうしたらいいのでしょうか ワールド座標系で変換しても上手くいきません ビューポートの矩形領域を横に広げてウィンドウ上の描写位置を左にずらすという方法も考えたのですが そうすると他の問題が出てきてしまい上手くいきませんでした
319 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/14(土) 12:41:48.06 ID:yL5+7HbV] 個別のファイルにして読み込むとか誰が言ってんだよ 俺はこうとしか言ってないし >16x16の小さい画像にプログラム内部で切って分割して読み込んだら早くなったってことだろうがよ。
320 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 13:20:10.45 ID:j6rXrtuE] ああ、288でそう言ってるね 261や270の説明だといまいちどっちなのか分からなかった まあ、プログラム内部で切る手段がDerivationGraph以外にもあるから288も誤解を招く可能性はあるけど
321 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 14:37:43.49 ID:Xyu583QP] >>318 マルチポストするような人には答えません
322 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 16:31:49.46 ID:5A5xZr5h] >>321 あなたはどっちにしろ答える気は無かったでしょう? 或いは答えられなかったか
323 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 16:56:46.39 ID:HWdXdTHv] やっぱりマルチポストするやつって精神的におかしいんだな。
324 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 17:19:06.25 ID:cLXZD6OB] マルチポストするやつは掲示板の先にほかの「人」がいるって考えがないからね。 認識的には「便利な道具」。 まぁ、それも間違いじゃないんだけどさ。
325 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 17:58:27.34 ID:5A5xZr5h] >>324 じゃあどうすればよかったんですか? 以前に書いたスレは過疎スレだったのでこっちに書き直したんですけど これって変な事なんですか?
326 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 18:06:41.65 ID:xHYH5vYU] そもそもここがDirectXのスレじゃない DXライブラリ≠DirectX
327 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 18:14:10.19 ID:xHYH5vYU] ゲ作製板のDirectXスレは昔はあったが今は存在しない。 そういう話題をたずねたいなら hibari.2ch.net/test/read.cgi/tech/1298067098/ ここにでも行ってみな。
328 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 18:34:12.15 ID:y0FBUKTH] 別のところで質問してきます、って書けばいい。 質問スレよくある展開だよ。 「誘導されてきました」ってのもよく見るね。
329 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 18:41:30.60 ID:pIszQFmc] >>325 過疎っていたのでこちらで聞きたいんだけどって付け加えればいい 問題の解決方法を聞くときには状況だけじゃなく経緯を説明したほうが何かと捗るぞ
330 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 18:43:26.84 ID:cLXZD6OB] >>325 書き直す際にどのスレに移動するか明記しておけば そのスレでの質問を〆たことにもなるし、知ってる人がその書き込みを見たときに 移動先で返事をしてくれることもある。 そうすればマルチポストじゃなく趣旨に合うスレに移動したって伝わるし 書き込んだ全部のスレを自分で見て回る手間も省ける。 当然マルチポストが嫌いな人への心証も壊すことがないんで より回答を得やすくなるよ。
331 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 18:49:46.26 ID:HWdXdTHv] 最初のスレでは「レス付かないので○○で質問します。ありがとうございました。」 新しいスレでは「○○で質問しましたが、レスがつかなかったのでこちらで質問させていただきます。」 これならまず怒られない。 常識的に物事を考えられない年齢で知らない人に質問なんてするもんじゃないよ。 小学校や親から何を教わってきたのか…。
332 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 19:23:56.08 ID:ewuVSNH5] DQNの親はほぼ確実にDQN
333 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 19:34:24.02 ID:Dge/y5on] >>325 どうすればよかったのかちゃんと聞いたことをオレは評価する
334 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 19:41:44.05 ID:5A5xZr5h] なるほど、必要な一言があったわけですか >>327-330 すみませんでした 以後気をつけます
335 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 22:59:25.65 ID:LbEJnxKT] 甘いぜてめーら! >>334 ちょらぁーーー!!1 もっともっと反省しる! ふぅ……ちょ〜気持ちいい〜♪
336 名前:名前は開発中のものです。 mailto:sage [2011/05/14(土) 23:33:16.15 ID:7PaxWbCQ] すいませんみなさん、 >>335 には俺がきっついお仕置きしときます 主にアナルに
337 名前:名前は開発中のものです。 mailto:sage [2011/05/16(月) 21:28:02.34 ID:oqSb1uU0] >>334 まだ見てるか分からないけど 中心を左にずらすってことは、カメラを右に平行移動したい という解釈であってる? であれば float fov = D3DX_PI / 4.0f; float height = 480.0f; //描画する矩形の高さ float X = 100.0f; //これがカメラの移動量 D3DXVECTOR3 vEyePt = D3DXVECTOR3( X, 0.0f, (height / -2.0f) / tan(fov / 2.0f) ); //カメラの位置 D3DXVECTOR3 vLookatPt = D3DXVECTOR3( X, 0.0f, 0.0f ); //カメラが映している位置 D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f ); D3DXMATRIX matView; D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec ); //またはD3DXMatrixLookAtRH() LPD3D9Divece->SetTransform( D3DTS_VIEW, &matView ); これで左にずれてレンダリングされるはず カメラを平行移動させる時は注視点を連動させる
338 名前:名前は開発中のものです。 mailto:sage [2011/05/16(月) 21:32:10.98 ID:oqSb1uU0] DiveceじゃないDeviceだろorz
339 名前:名前は開発中のものです。 [2011/05/25(水) 10:09:49.81 ID:2LG25rFZ] 21日にバージョンアップしてるね
340 名前:254 mailto:sage [2011/05/26(木) 20:53:42.12 ID:pDvbsZn3] >>255 もの凄く今更だけど、単独起動では処理は止まってた だけど、ソフトをアクティブから最小化にした直後は キー操作に反応してる(処理は止まってない)ようだった SetAlwaysRunFlagはFALSEで、GetActiveFlagがTRUEの時に キー判定するようにしてても バージョンは3.05
341 名前:名前は開発中のものです。 mailto:sage [2011/05/26(木) 23:00:38.73 ID:xUOkZxuC] なに意味不明なことを。 たいてい配布されてるDLLにはバージョン返す関数が用意されてるだろ。
342 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 02:23:25.26 ID:WZ4EJwBd] マス目のゲーム戦闘画面ってDXライブラリで製作出来ます? マップに座標を打ち込みつつ初期化 {0,0,0} {0,1,1}の様な形。 for文でマップのマス目左上からズレていくように書き switch文で case 0 は DrawGraph 画像 case 1 は 〜〜 の様にしてみたんですが、上手く表示されません・・・。 マス目ごとに対応した番号の画像を表示させるにはどのようにすれば宜しいでしょうか?
343 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 03:23:35.98 ID:D2qC7dWI] プログラミング言語より まず日本語ちゃんと使えるようになろうな な! てか、説明する気全然無いだろおまえ
344 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 03:29:21.26 ID:50SAL2r9] case 0|case 1|case 2| case 3|case 4|case 5| みたいな感じに表示したいって事だろう? caseで上手く行かないっていうのはどういう風に上手く行かないか書かないとわからんな。画像が映らないとか
345 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 03:30:08.24 ID:P+8xuJhC] なんか、おまえらの優しさに涙でそうになった
346 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:14:51.06 ID:WZ4EJwBd] すみません; 文字制限があって削ってたら訳分からん文章に・・ ちょっと連投してソースコード貼りますがお許し下さい include "DxLib.h" #define MAP_SIZE 64 // マップチップ一つのドットサイズ #define MAP_WIDTH 4 // マップの幅 #define MAP_HEIGHT 4 // マップの縦長さ 本当はもっと大きいですがあくまで一例としてお願いします
347 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:26:31.70 ID:3kRTf3YP] 規制受けたので携帯から #define BLACK 0 #define White 1 int MapData[ MAP_HEIGHT ][ MAP_WIDTH ] = { {1,1,1,1} {1,0,0,1} {1,1,0,1} {1.1.1.1} }; int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); // ウィンドウモードに設定
348 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:33:13.88 ID:3kRTf3YP] SetGraphMode( 640 , 480 , 32 ) ; if( DxLib_Init() == -1 )// DXライブラリ初期化処理 { return -1;// エラーが起きたら直ちに終了 } int i, j; // マップを描く for( i = 0 ; i < MAP_HEIGHT ; i ++ ) { for( j = 0 ; j < MAP_WIDTH ; j ++ ) { switch(MapData[ i ][ j ] ) { case BLACK : DrawGraph("画像/サンプル1.bmp"); break;
349 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:38:46.80 ID:3kRTf3YP] case White : DrawGraph("画像/サンプル2.bmp"); break; } } } // キー入力待ち WaitKey() ; DxLib_End() ;// DXライブラリ使用の終了処理 return 0 ;// ソフトの終了 } 以上。投稿してから気付いた。White本当は全部大文字です。あぁしまった。画像ロード書き忘れてら・・・。
350 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:43:40.52 ID:3kRTf3YP] void load(){ LoadGraph("画像/サンプル1.bmp"); LoadGraph("画像/サンプル2.bmp"); } ↑がWinMainの上にあります。 エラーは画像描画の行で関数に一個の引数を指定できません。でした 時間やばいので寝ます。 スレ騒がせてしまって申し訳御座いません。
351 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:46:56.03 ID:GnZtQgg2] まぁスレが過疎るよりはマシだから
352 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:47:42.79 ID:50SAL2r9] int DrawGraph( int x, int y, int GrHandle, int TransFlag ) ; この4つをちゃんと与えてないとかいうエラーだったら殴るぞ
353 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:47:52.50 ID:P+8xuJhC] switch内のDrawGraphはなんだよw もう一度リファレンス読みなおせww
354 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 04:48:40.10 ID:P+8xuJhC] つうかみんな待機してたのかよwwww ・・・・乙
355 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 06:32:28.99 ID:xNAGry64] 長いコード貼るときはideoneかcodepad使うと便利だよ
356 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 14:45:00.98 ID:3kRTf3YP] 皆様の優しさに泣いた しねぼけかすとか言われるかと思ってたら・・・。 バイト終わったらアドバイス通りに色々試してみます。
357 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 17:17:06.76 ID:U7rPxdQ1] DxLibはDirectXでの描画を簡単にしてくれてるだけだから描画に関することしか制約はないと思います。 例えばアンチエイリアスとかエフェクトとかそういう描画関係での制約はあったりなかったり…。 制約あっても管理人さんに頼めば実装してくれる場合もあり。 というかシステム的な面はC言語,C++,C#でできるかって話だから基本的にはできないものはないと思っていいかと。 ここからは質問について。 まず、1枚の画像を分割して配列に入れられる関数があります。詳細はリファレンス読んでください。 int LoadDivGraph( char *FileName , int AllNum , int XNum , int YNum , int XSize , int YSize , int *HandleBuf ) ; これを使って読み込むと、例えば配列の中身に{土、草、木、海}と画像(マップチップ)を入れられるって感じです。 仮にこの配列の名前をChipImgとしておきます。 で、マップを書くときのfor文を以下のようにすれば希望の動作になると思います。 かなり基礎的なことなので検索すればどこにでも書いてあります。 ただ、そのままコピペするのではなくちゃんと理解してください。難しいことは何もしてないです。 細かいところ間違ってたら申し訳ない。 // マップを描く for( i = 0 ; i < MAP_HEIGHT ; i ++ ) { for( j = 0 ; j < MAP_WIDTH ; j ++ ) { DrawGraph(j*MAP_SIZE, i*MAP_SIZE, ChipImg[MapData[j][i]], false); } }
358 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 20:00:44.94 ID:UsP8/dot] このスレって早朝でもレスポンスあるんだな
359 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 20:03:23.02 ID:vGoJgMZu] 更新スレの一つでいつも見てるよ 最近スレとまってたけど。
360 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 22:16:46.35 ID:WZ4EJwBd] LoadGraph削除後 int GHandle1; int GHandle2; GHandle1 = LoadGraph("画像/サンプル1.bmp"); GHandle2 = LoadGraph("画像/サンプル2.bmp"); case BLACK : DrawGraph(i,j,GHandle1,TRUE); break; case White : DrawGraph( i, j, GHandle2, TRUE); break; にしてみましたが、エラーはありませんでしたがウインドウ真っ暗で画像表示せず・・・。