[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/01 17:45 / Filesize : 113 KB / Number-of Response : 490
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DXライブラリ 総合スレッド その8



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/

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;

にしてみましたが、エラーはありませんでしたがウインドウ真っ暗で画像表示せず・・・。

361 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 22:19:13.81 ID:WZ4EJwBd]
リビルドしてアプリ起動したら何故か左上のマスだけ、不鮮明ながら画像が表示されてました。不思議。

今度は357さんの案を内容を理解するため勉強しつつ試してきます。

362 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 22:25:25.03 ID:0YaXlE0u]
マップチップを1ドットずつずらして描画してどうするつもりだ

363 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 23:03:20.50 ID:WZ4EJwBd]
DrawGraph(i*MAP_SIZE,j*MAP_SIZE
に変更する事で無事表示する事が出来ました!
ただ、デバックなしで開始しても何も表示されないのが少し気になりますが。

取り敢えず解決してしまいました。
本当に有難う御座いました!m(_ _)m

364 名前:名前は開発中のものです。 mailto:sage [2011/05/27(金) 23:31:21.01 ID:Y/qWs5Tm]
デバックなしってどういう意味だ?
ひょっとしてリリースの方でコンパイルして実行してるけど
リリースの方のフォルダに画像を用意してないとか?

365 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 00:31:51.61 ID:QOypFlPY]
いえ、リリースにも画像フォルダ用意しリリースにもアプリ製作しました。
が、アプリ起動すると表示される画像が Ctrl+f5 で立ち上げたウインドウには表示されないのですよね。

VC++2008を使用しています。
一応アプリケーションは正常に動いているのであんまり気には掛けていないのですが、何かおかしいのでしょうか・・・。

366 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 00:36:28.60 ID:A1uOHhrw]
DXライブラリの使い方というかVCやC++の使い方のレベルじゃないか
リリース側の実行ファイルから画像までのパスがまともに取れてないとしかまず考えられない
問診して説明するよりプロジェクト入ってるフォルダごとアップしてもらった方が説明しやすいかもしれない…

367 名前: [―{}@{}@{}-] 名前は開発中のものです。 mailto:sage [2011/05/28(土) 00:38:26.17 ID:3Cuv9gZ3]
LoadGraphに成功してるかエラーチェック入れろよ

368 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 00:54:12.30 ID:QOypFlPY]
>>366
すみません、確かにスレチでした。
当方C言語しか学習してなかったのでVCかC++の板に行ってみます。
失礼しましたm(_ _)m




369 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 00:59:23.12 ID:otWxclch]
DxLibと言うよりは確かにC言語初心者スレとかの方がいいかもね。
後はキッチリやさしい本を読むといいよ。
「やさしいJava」のC言語版的なもの。

370 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 00:59:56.21 ID:A1uOHhrw]
>>368
だがC++やVCの板でもDXライブラリの関数なんか知らねえよとか言われそうではあるので
>>367の言う通り
GHandle1 = LoadGraph("画像/サンプル1.bmp");

if( GHandle1 = LoadGraph("画像パス") )
{MessageBox(NULL,TEXT("エラー"),TEXT("画像のパス合ってない"),MB_OK);}
に差し替えてリリース側でエラーチェック試してみようか
これでアラート出たら絶対それ画像置く場所悪いから

371 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 01:03:19.25 ID:A1uOHhrw]
if( GHandle1 = LoadGraph("画像パス") )じゃなくて
if( GHandle1 = LoadGraph("画像パス")==-1 )だったごめんよ
LoadGraphの返り値調べてエラー確認するんだ

372 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 01:09:37.68 ID:QOypFlPY]
何度もすみません。
無事エラーが表示されました。

373 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 01:14:57.63 ID:QOypFlPY]
あぁ、なるほど。
DebugとRelaeseフォルダにだけそれぞれ画像フォルダを置いていたのが間違ってました。
↑二つが入ってるフォルダに入れておかないと駄目だったんですね・・・。
ほんとに初歩的な間違いでスレ汚してしまって申し訳なかったです;
解決しました。感謝

374 名前:名前は開発中のものです。 [2011/05/28(土) 05:53:10.67 ID:bOluCu1Z]
それはVSの都合なのかな?
Releaseのを直接起動した場合Releaseフォルダ内にないと動かないよね

375 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 06:20:40.88 ID:W6UqZw/P]
えーとこういうことなのか LoadGraph("Data\HogeHoge.bmp",〜);

HogeHoge\Data\HogeHoge.bmp ... ←コレを読み込みたい
HogeHoge\Release\HogeHoge.exe ←VSは実行ファイルをココに作る
HogeHoge\HogeHoge.cpp ソース
HogeHoge\ ←VSは実行ファイルを起動するときココを実行ディレクトリに設定する

それなら直接起動するときは実行ファイルをココに移動/コピーして起動してやれば良い…?のでは
HogeHoge\HogeHoge.exe ←ココにコピー
ビルド後イベントコマンドで cp もにゃもにゃと設定してやれば一応自動化できそ

376 名前:名前は開発中のものです。 mailto:sage [2011/05/28(土) 07:30:43.55 ID:L9srxxo1]
実行ファイルも同じフォルダに出力するようにして名前だけ変えるで区別とかして
デバッグの作業ディレクトリも同じにすりゃいいだけ。

377 名前:373 mailto:sage [2011/05/29(日) 00:44:52.38 ID:BFzS8fGx]
またまたお世話になります。
と言っても今回はDXライブラリが絡むか自信が無いため、まずその段階からですが・・。
よくRPGなどの戦闘画面で、斜め上から見下ろした形になっているゲームが多いと思いますが、その表示方法についての質問です。
前に書いた様な座標型マップ表示で出来るものなのでしょうか?
(絵を斜めっぽく工夫して描けば行ける・・・?)

それとも座標自体を特殊な表記にしないと駄目でしょうか・・。
2Dの範囲内で実現可能という事は分かってるのですが、あちらこちら探しても中々答えが見つからずorz

378 名前:名前は開発中のものです。 [2011/05/29(日) 00:48:22.93 ID:Ul9KwIs9]
クォータービュー



379 名前:名前は開発中のものです。 mailto:sage [2011/05/29(日) 00:59:05.68 ID:7hhk2TqC]
基本的には描画の方法が違うだけ。マップデータ自体はそのまま流用できると思うよ。

ただし、クォータービューのマップチップは、
トップビューに比べてマップチップの縦幅が狭くなる(半分くらい)になってしまうので、
常に奥から描画するようにしないと、キャラが首チョンパ状態になったりするので注意。

     ○ 
   <大>  単独だときちんと人間が表示されるが

    ↓

   ○   ○
 <大><大>  上方向に重なるとマミっちゃう
   <大>


380 名前:名前は開発中のものです。 mailto:sage [2011/05/29(日) 01:05:47.56 ID:lpI500pO]
菱形の画像をうまく並べるだけさー
各マスの位置をベクタ的に回転させると楽






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<113KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef