DXライブラリ 総合スレッド その16
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2013/06/30(日) 23:57:05.06ID:j62MvD3e「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
ゲームプログラムなら俺に聞け(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1366526476/
●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0654名前は開発中のものです。
2013/10/23(水) 01:24:23.81ID:mBIdYewB手元に60Hz以外に対応してるモニタが無いから、ホントにそれで合ってるのか分からん。
>>653
CPU負荷は表示させたこと無いなあ。Win32APIあたりから拾ってくるのん?
0655名前は開発中のものです。
2013/10/23(水) 02:00:20.55ID:/vNRk1Xr垂直同期しないならWaitTimerが都合よく動くことを祈る
0656名前は開発中のものです。
2013/10/23(水) 03:47:45.96ID:0wrZIgXb単純にwait処理以外の時間を1秒間ms単位で足して1000で割る
で良いんじゃね
垂直同期待ちしてる場合はScreenFlipもwait処理として考える
0657名前は開発中のものです。
2013/10/23(水) 17:08:21.68ID:mBIdYewBただ、手元に60Hz以外の環境で確認するすべがないのと、
もしかすると、もうちょっとスマートな方法があるのかな?と、ちょっと気になっただけなんだ。
まあ、タイマー制御もvsync待ちも切ると500FPSとかで動いたりするから、大丈夫だろうとは思うんだけどさ。
デフォルトはタイマー制御にしておいて、コンフィグ画面なり起動時のダイアログなりで変えれるようにするのがベストかな?
0658名前は開発中のものです。
2013/10/23(水) 17:14:46.11ID:r7PHrsPz0659名前は開発中のものです。
2013/10/23(水) 20:42:08.44ID:FRuG4Mt00660名前は開発中のものです。
2013/10/25(金) 11:35:42.34ID:5OBeL3FY例えばモニタが60fpsだったら、描画スレッドを60fps(vsync?)にして、
処理スレッドと描画スレッドはどうやって同期するんだ?
処理スレッドが座標いじってる時に描画スレッドが座標見るのはダメなんだよな?
まぁ早々ブッキングはしないだろうけど何万回転とかしたら・・・
0661名前は開発中のものです。
2013/10/25(金) 16:06:37.29ID:4mKf6ch/それは一旦fpsとかその他の言葉を忘れて、マルチスレッドでの同期処理を書いて理解した方がいい。
てか、ドライバ書いてる訳でも無いのに垂直帰線期間の話が出て来る事自体が、あんまりリアルじゃない。
30年前の8bitマシンならともかく、今のマシンでアプリレイヤの話ならばちょっと変だ。
垂直帰線期間の考慮が必要になるのは、例えばDirectXやOpenGLそのものがその中で行っている最後のラスタ情報のVRAMへの転送処理の中の話であって、
普通は(アプリケーションプログラマは)メインループの経過時間差を見てfpsをコントロールする。
具体的には一定経過時間未満の場合に処理をスキップさせる。
もしもこの周辺処理をマルチスレッドで実装したい場合に、意図的な同期処理が必要になるが、そういった場合にマルチスレッドでの流儀で実装する。
そうでないなら単にメインループの中で、普通に処理するだけ。
こういった話はより具体的にしないと、ただの曖昧な聞きかじりみたいな話で終わってしまい、全然役に立たない。
経験から引き出して実例として話さないとダメ。
0662名前は開発中のものです。
2013/10/25(金) 16:51:42.23ID:4Ad/OwJF0663名前は開発中のものです。
2013/10/25(金) 17:31:09.74ID:L0JBOh2J0664名前は開発中のものです。
2013/10/25(金) 21:13:51.48ID:eOV2PGNk0665名前は開発中のものです。
2013/10/25(金) 21:16:54.66ID:L0JBOh2J0666名前は開発中のものです。
2013/10/25(金) 21:32:50.74ID:W9GSrEjC0667名前は開発中のものです。
2013/10/25(金) 21:59:31.35ID:Wzto7AEP誤爆か?
0668名前は開発中のものです。
2013/10/25(金) 22:47:27.21ID:8QrcaZYH0669名前は開発中のものです。
2013/10/26(土) 05:38:35.50ID:EY53Gq9Jマップスクロールを「キャラを中心にスクロール」、
「画面端はキャラだけ移動」という一般的な方法を
採用していますが、画像がブレだかボヤケだかの描画に
なってしまいます。
・キャラを中心にスクロールしているときは、背景のマップが
ぶれる(ぼやける)
・画面端でキャラだけ動いているときは、キャラが
ぶれる(ぼやける)
スクロール方法は下記サイトの方法で実装しています。
aidiary.hatenablog.com/entry/20050624/1255786339
スクロール中にキャラやマップのぶれを少なくする方法は
何かないでしょうか。
0670名前は開発中のものです。
2013/10/26(土) 05:50:55.66ID:6XzQgQShスクロール方法関係ないんじゃない?
0671名前は開発中のものです。
2013/10/26(土) 05:58:59.74ID:EY53Gq9Jブラウザとかでも高速でスクロールさせると文字や画像が
残像する、あのような感じです。
<キャラを中心にスクロール中>
マップに残像が発生しますが、キャラはくっきり描画
されます(アニメーションしてても)。
<画面端でキャラだけ移動しているとき>
マップはくっきり描画されますが、移動中のキャラは
常に残像が発生します。
※参考にしたサイトのサンプルプログラムでも
同様の残像が発生します。
0672名前は開発中のものです。
2013/10/26(土) 06:08:55.30ID:6XzQgQSh0673名前は開発中のものです。
2013/10/26(土) 07:26:17.12ID:6YbVuCZu0674名前は開発中のものです。
2013/10/26(土) 08:51:17.35ID:/uNZ0zLg0675名前は開発中のものです。
2013/10/26(土) 08:56:23.71ID:Q2EqAaLNこれを実行で俺もなった
0676名前は開発中のものです。
2013/10/26(土) 11:49:37.99ID:pP8Y9uuyURLの先見てないけど、普通に真っ先に思い付くのはダブルバッファリングしてるかどうかだと思う。
で、多分してないんだと思う。それだけの事かなと
0677名前は開発中のものです。
2013/10/26(土) 11:53:21.66ID:yQ4RNrvp最後にそのバッファを画面へ送る。
真っ先にその話が出るべき
0678名前は開発中のものです。
2013/10/26(土) 13:57:28.53ID:J0WOOfsS撮ったスクリーンショットがおかしかったらゲームが悪い
だがこの場合、多分モニタの残像だろう
PSPのゲームとかでも残像起こってるだろ? ショボイモニタだとドットの色切り替えが遅くてモヤっとした残像が残る
液晶モニタ使ってるならそれが正常な状態だからそのままでいい
自分のテスト環境で発生するのが嫌なら、CRTモニタか、性能のいい液晶モニタを買うしかない
もしくは、作ってるゲームが30fpsだったなら60fpsで組めば多少はマシになる
0679名前は開発中のものです。
2013/10/26(土) 14:17:59.04ID:6eucTLth別におかしくない
環境かな
0680名前は開発中のものです。
2013/10/26(土) 14:26:43.92ID:VAjnFKN9環境だね
0681名前は開発中のものです。
2013/10/26(土) 14:28:35.26ID:j2hwvwUg相当クソなブラウザを特別に使ってなければ環境
0682名前は開発中のものです。
2013/10/26(土) 14:55:49.27ID:6eucTLth0683名前は開発中のものです。
2013/10/26(土) 15:26:34.20ID:vOP7JN2Phttp://toro.2ch.net/test/read.cgi/gamedev/1361004297/800-807
マルチポストじゃなくて、第三者による転載だってさ。
DXライブラリの質問とは限らないし、回答するなら本人が居る向こうの方が良いと思う
0684名前は開発中のものです。
2013/10/26(土) 15:49:34.04ID:J0WOOfsS0685名前は開発中のものです。
2013/10/27(日) 03:55:14.21ID:hVtutQ/3教えてGooの擬人化みたいな奴だな…
0686名前は開発中のものです。
2013/10/27(日) 18:32:26.43ID:ZqajIEUd修正してたら一日終わった・・・
0687名前は開発中のものです。
2013/10/27(日) 18:40:59.76ID:lWMy8q7c0688名前は開発中のものです。
2013/10/27(日) 19:07:38.88ID:J4caiA240689名前は開発中のものです。
2013/10/27(日) 20:36:50.19ID:ky3lixuM0690名前は開発中のものです。
2013/10/27(日) 20:49:33.81ID:o0p58kLo0691名前は開発中のものです。
2013/10/27(日) 21:02:15.67ID:XS+5Iaz00692名前は開発中のものです。
2013/10/28(月) 08:27:44.01ID:POAr7U/I0693名前は開発中のものです。
2013/10/30(水) 14:41:44.02ID:sYdTMpzXそんなに糞だと思うならNetBeansなり
IntelliJなり好きなの使えばいいのに
0694名前は開発中のものです。
2013/10/30(水) 16:10:35.70ID:28s19Yxa0695名前は開発中のものです。
2013/10/31(木) 12:48:09.17ID:cHiDnG2c0696名前は開発中のものです。
2013/10/31(木) 14:46:32.33ID:kR/JAw790697名前は開発中のものです。
2013/10/31(木) 15:29:36.47ID:p29pq3vL0698名前は開発中のものです。
2013/11/01(金) 17:22:12.94ID:O2gJuo4d0699名前は開発中のものです。
2013/11/01(金) 17:43:40.29ID:19pXpteF0700名前は開発中のものです。
2013/11/01(金) 17:56:15.00ID:/fYKLVaQ0701名前は開発中のものです。
2013/11/02(土) 03:30:34.86ID:Ut0q1ayZ0702名前は開発中のものです。
2013/11/02(土) 03:36:17.73ID:x2D2oiTV0703名前は開発中のものです。
2013/11/02(土) 08:09:56.90ID:3+cyVteEどうしたらいいですか?
mv1ファイルを読み込み
座標・回転の設定・更新
描画リストへ登録
描画リストが各クラスへ描画する関数を呼び出し
描画リストを初期化
最初に戻る
これら一連の流れで値に異常が見つかりません
エスパーいたらお願いします
0704名前は開発中のものです。
2013/11/02(土) 13:37:22.37ID:BsNpZj+/スケールの初期値がおかしかったり
0705名前は開発中のものです。
2013/11/02(土) 14:08:55.57ID:WffMO7pj・次に、あるとした、それらを単に「おまじないで出来た」じゃなく意味わかっててやれたのか
・次にカメラの位置や角度とモデルの位置はあってるか
・次にシェーダ使ってる場合、シェーダ内のエラーちゃんと拾ってるか。計算は合ってるのか
・使ってないとしてマテリアルやライトはどうなってるか
確認点いくらでも出てくる
0706名前は開発中のものです。
2013/11/02(土) 14:16:54.20ID:zb+/V8x50707名前は開発中のものです。
2013/11/02(土) 20:26:00.39ID:n5KzCdEvhttp://c-games.main.jp/ckaihatu/ckaihatu8.html
良かったらこれをご覧ください
上記の解説サイトを運営している者ですが
お役に立てれば光栄です
0708名前は開発中のものです。
2013/11/02(土) 20:29:07.13ID:yqJ8dEIi騙されんなよ
0709名前は開発中のものです。
2013/11/02(土) 20:37:43.45ID:9FYWUI/Yちゃんとコテハン付けてくれるとなお良し
0710名前は開発中のものです。
2013/11/02(土) 21:09:13.15ID:mpR3CYfzお前らちゃんと使いこなしてる?
0711名前は開発中のものです。
2013/11/02(土) 21:35:26.14ID:SySW2qwHerror C2064: 0 引数を取り込む関数には評価されません。
とエラーがでます。どうしたらいいですか?
struct{
string AI_NAME;
void (CNonPlayer::*AI_Func)();//AIの関数ポインタ
}AIList[6];
int UseAI;
//使う時
AIList[UseAI].AI_Func();
ちなみに関数ポインタはコンストラクタで
AIList[0].AI_NAME="Idle";
AIList[0].AI_Func=&CNonPlayer::AI_Idle;
みたいに初期化しています。AI_Idleみたいなメンバ関数が6個あります。(要素数)
0712名前は開発中のものです。
2013/11/02(土) 21:40:49.23ID:O018gqUy0713名前は開発中のものです。
2013/11/02(土) 21:42:40.26ID:3Maelvih0714名前は開発中のものです。
2013/11/02(土) 21:59:51.69ID:SySW2qwHおぉ・・・
(this->*AIList[UseAI].AI_Func)();
こんなんにしたらできました
ありがとうございます
>>712
ナマポ?スマートポインタじゃないと設計としてまずいですか?
0715名前は開発中のものです。
2013/11/02(土) 22:02:12.55ID:9FYWUI/Y0716名前は開発中のものです。
2013/11/03(日) 00:55:04.58ID:W4L0bxGv0717名前は開発中のものです。
2013/11/03(日) 03:40:26.61ID:tMrWUay8関数ポインタの指してる先が普通のメンバ関数みたいだし
このケースではスマートポインタにする意義は無いと思う
似たようなことを敢えて言うとすれば「std::function使おう」とか言えるけど
0718名前は開発中のものです。
2013/11/03(日) 08:21:38.75ID:vvC2nxd0http://pona.m-bird.org/d-bbs/2-watch/
0719名前は開発中のものです。
2013/11/03(日) 11:42:25.33ID:EBwOtCUXどのみちその保管したメンバ関数実行するにはインスタンス渡してやらないといけないから、
その構造体単独では使えない。
=インスタンス渡せるなら、直接呼べばいい訳だから、全然意味無いけどな
0720名前は開発中のものです。
2013/11/03(日) 12:15:02.65ID:qqgP/ziMhttp://ideone.com/fwUQGy
0721名前は開発中のものです。
2013/11/03(日) 14:12:08.37ID:HkNPhWdK関数名と関数ポインタをセットで扱いたかったのですが、
かいたプログラマしかわからないような処理になったので、別途列挙体作って管理したいと思ったらこんな感じになりました。
プライベートなメンバ関数なのでコンストラクタで構造体を初期化してます。
理想的なのかどうかはわかりませんご・・・
0722名前は開発中のものです。
2013/11/03(日) 14:18:50.24ID:HkNPhWdK>>711はクラスのメンバ関数内の話です・・
0723名前は開発中のものです。
2013/11/03(日) 17:12:55.51ID:PGRU4d3rロックマンみたいなアクションゲーム作りたいんですが。
0724名前は開発中のものです。
2013/11/03(日) 17:22:18.31ID:oybLvXS0DXライブラリ以前に、言語は問題ないの?
0725名前は開発中のものです。
2013/11/03(日) 17:30:58.74ID:PGRU4d3rDXライブラリだとアクションゲームは楽ですか?
0726名前は開発中のものです。
2013/11/03(日) 17:38:05.58ID:q6P+R2O4DXライブラリはライブラリ。比較するようなものではない。
DXライブラリは通常C++(VC++)で使う。こっちがプログラミング言語。
だから質問するなら、「VBA」と「C++&DXライブラリ」の比較って事になるのかな。
俺はVBA使ったことないから答えは知らん。
ただVBAとC++、どっちか一つでも使えるならそっちを使えばいいんじゃないか、という事なら言える。
DXライブラリを使えば画像表示とか入出力判定とかは簡単だが、アクションゲームうんぬんはプログラミングの腕次第だからDXライブラリ関係ない。
0727名前は開発中のものです。
2013/11/03(日) 17:47:06.31ID:PGRU4d3rなるほどそういうことでしたか。
DXライブラリにおける背景のロードはどうすればいいのでしょうか?
主人公が進むにつれて新しい背景が出てきますが。
0728名前は開発中のものです。
2013/11/03(日) 17:58:13.17ID:oybLvXS0質問するなら、今どうやってて、どううまく行ってないのか書いてくれないと
0729名前は開発中のものです。
2013/11/03(日) 17:59:21.00ID:PGRU4d3r背景画面の連結とかの方法が分かりません。
教えてください。企業秘密ですか?
0730名前は開発中のものです。
2013/11/03(日) 18:03:23.93ID:qqgP/ziM言語としては非.NETの旧来のVBで、環境としてはOffice製品が必要な物。
DXライブラリはC/C++言語で利用するライブラリ。で、
>>727
「背景」って用途は自分が決めた使い道の事であって、単に画像のロードなんかはAPIリファレンス参照。
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
当たり前だけど、基本的にプログラミングの視点で、自分がやりたい事は具体的にどういう事なのか、がわかってないと
DXライブラリに限らず何も出来ないよ。
……その意味ではVBAだろうと何だろうと何でもそうだけど。
0731名前は開発中のものです。
2013/11/03(日) 18:04:45.07ID:QD0IOl9q0732名前は開発中のものです。
2013/11/03(日) 18:05:32.09ID:eDrvMfu60733名前は開発中のものです。
2013/11/03(日) 18:05:45.62ID:PGRU4d3rロックマンを作りたいんです。
主人公が進むにつれて背景画像が更新されるようなプログラムを作りたいのですが
その方法を教えて下さいと言っているのです。
0734名前は開発中のものです。
2013/11/03(日) 18:08:06.19ID:yZmxR7Tm以降の質問・回答のやり取りはこちらのスレで行ってください
http://toro.2ch.net/test/read.cgi/gamedev/1361004297/
0735名前は開発中のものです。
2013/11/03(日) 18:08:20.79ID:qqgP/ziM「企業秘密ですか?」って妙な一言付けてくるあたり、もしかしたら釣りかもしれないと疑いつつ、
背景画面との「連結」って表現は普通しないけど、お前さんがやりたい事は単に画像の重ね合わせ表示のような物。
上のリファレンス読んで頑張れ。
ってか、基本的にコンピュータで動いてる物の仕組み自体は理解してるか?
あるいはなんらかプログラムを作ったことは。
特に、出来ればC/C++で何か動くもの作ったことはあるか?
0736名前は開発中のものです。
2013/11/03(日) 18:11:48.82ID:qqgP/ziMお前さんが簡単に数行で書いてる質問の正解は、お前さんがどこまで何を知っててどんな経験と知識があるかで大幅に変わるから、
もしもまったく何も知らないなら、本一冊買って基本的な勉強全部やって何か一本自分で作れてから聞いて。
何も知らない状態の人に全部説明したら本一冊書けるくらいの内容になっちゃうから。
本当に。
0737名前は開発中のものです。
2013/11/03(日) 18:11:52.44ID:PGRU4d3r複数の画像を通し番号でアクセスしたい場合データ構造は何がベストですか?
そもそもDXライブラリにおいて一つの画像のビットマップを格納する方法が分かりません。
0738名前は開発中のものです。
2013/11/03(日) 18:13:29.80ID:eDrvMfu6>VBAとDXライブラリはどっちが使いやすいですか?
とか質問してるレベルの奴が人に聞いて問題を解決するとか愚かすぎる
まずは既存の講座サイトを見て適当に動くプログラムを組んでみてから心配しろ
0739名前は開発中のものです。
2013/11/03(日) 18:17:19.91ID:PGRU4d3r知ってる人がいれば教えて下さい。企業秘密ですか?
0740名前は開発中のものです。
2013/11/03(日) 18:18:06.99ID:qqgP/ziMそういう具体的な質問なら、普通は「画像データ格納した構造体なりなんなりのポインタをvectorにでも並べとけばいいんじゃね」
って回答で終わるんだけど、これは別に特殊な方法でもなんでもないので、
なんかコード書いてる人なら最初に自分で思い付くレベルのかなりベタな話。
鍵カッコの中の一文、意味通じたか?
0741名前は開発中のものです。
2013/11/03(日) 18:19:46.13ID:8z747x7V0742名前は開発中のものです。
2013/11/03(日) 18:21:21.17ID:qqgP/ziMなんか釣りっぽいな。
>>735 の冒頭にも疑い書いたのにまた妙な事繰り返す辺りが。
>>734 のスレ行った方がいいよ。
0743名前は開発中のものです。
2013/11/03(日) 18:36:24.37ID:PGRU4d3rvectorってC++じゃなかったですか?
DXライブラリが提供している配列みたいなデータ構造とかあるんですか?
0744名前は開発中のものです。
2013/11/03(日) 18:37:50.20ID:eDrvMfu6もうほっとこう
0745名前は開発中のものです。
2013/11/03(日) 18:38:11.98ID:q6P+R2O4なんで釣りだとわかった途端レスが増えるんだよ。
0746名前は開発中のものです。
2013/11/03(日) 18:40:18.24ID:qqgP/ziMいや、そのC++のstlにあるvectorの事を言ってるけど
てか、DXライブラリってどういう物かわかってるか?
0747名前は開発中のものです。
2013/11/03(日) 18:43:18.04ID:PGRU4d3rDirectXの機能を使いやすいようにしたものですか?
DirectXにも配列って有りませんでした?
vectorの使い方とか分からないんで。それ以外で何かありませんか?
0748名前は開発中のものです。
2013/11/03(日) 18:46:57.50ID:qqgP/ziMとりあえず無い。てかvectorみたいな簡素な物わからなかったらどこにも無い。
てか、別にvectorに拘らなくても普通の配列で都合良いならそれでもいいじゃない。
てかもうDXに限らず外部ライブラリ使う以前の話なので、迷惑だから
>>734 のスレ行って。あと俺の質問にまったく答えない辺り気に入らないからもう安価しないで。
あと本読んで。終わり。
0749名前は開発中のものです。
2013/11/03(日) 18:47:43.88ID:PGRU4d3r釣りじゃないからやり取りが弾むんでは?
さて、例えばAの画像を4、Bの画像を6表示するってのを動的にやる方法が
分からないんですよね。
t:10-tで表示する方法です。
どうしたらいいんですか?
0750名前は開発中のものです。
2013/11/03(日) 18:48:39.64ID:PGRU4d3rすいませんでした。
0751名前は開発中のものです。
2013/11/03(日) 18:59:18.56ID:eDrvMfu6釣りだからじゃなくてお前が馬鹿だからだ
0752名前は開発中のものです。
2013/11/03(日) 19:01:01.03ID:PGRU4d3r馬鹿っていうソースを出してください
0753名前は開発中のものです。
2013/11/03(日) 19:03:53.98ID:UEvXhgnL>>747 vectorの使い方とか分からないんで。
■ このスレッドは過去ログ倉庫に格納されています