DXライブラリ 総合スレッド その3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/03/31(火) 01:14:36ID:IgyJcgapGUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリの詳細ついては
http://homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
過去スレ:DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
0570名前は開発中のものです。
2009/06/21(日) 23:41:01ID:nqKSgOSf>VRAMから送られるデータは画面の左上から右下のデータが順次送られてるのかな?
Yes
>そしてその送られてる時間がネックになっていてその間にflipしたらバックバッファの途中のアドレスから参照されるってこと!?
Yes
>バックバッファが出来上がっていない可能性もあるし、どうせ同期待ちしていないんだからとりあえずフロントバッファのデータを送りきってからバックバッファ分を送ればいいわけだし。
?
何を言いたいのか良くわからないけど
VRAMのデータをモニタに送るタイミングはPC側からは操作できない
リフレッシュレートに依存する
>じゃあ将来例えば物凄くリフレッシュレートが高くなった場合、VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速かったりしたら
>"同期待ちしてるのにティアリングが起きてる"っていう最悪な状態になっちゃいそうですが。
縦解像度nの画面データをモニタに送る流れ
0lineを転送→水平同期期間→1lineを転送→水平同期期間→
nlineを転送→垂直同期期間→0lineを転送→水平同期期間
つまり、垂直同期間は1画面分のデータを転送した後にくるので、
「VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速い」
というのはそもそもありえないよ、nline分送る前に垂直同期期間に突入する事はないから・・・
0571名前は開発中のものです。
2009/06/21(日) 23:45:26ID:nqKSgOSf>リフレッシュレートに依存する
厳密には設定した解像度とリフレッシュレートに応じて発生する
水平同期信号と垂直同期信号に依存する
>0lineを転送→水平同期期間→1lineを転送→水平同期期間→
>nlineを転送→垂直同期期間→0lineを転送→水平同期期間
0lineを転送→水平同期期間→1lineを転送→水平同期期間→
(n-1)lineを転送→垂直同期期間→0lineを転送→水平同期期間
の誤り
0572名前は開発中のものです。
2009/06/22(月) 00:07:43ID:kame7wv0おまえ顔真っ赤だぞ?
0573名前は開発中のものです。
2009/06/22(月) 00:08:14ID:1Ugl+7iQ0574名前は開発中のものです。
2009/06/22(月) 00:09:59ID:ErP4dB7Rそういうことだったんですね。
詳しい説明どうもありがとうございます。
>VRAMのデータをモニタに送るタイミングはPC側からは操作できない
>厳密には設定した解像度とリフレッシュレートに応じて発生する
>水平同期信号と垂直同期信号に依存する
ビデオカード側がモニタに送るタイミングを主導しているんだと思ってましたけど、そこが間違っていたようです。
0575名前は開発中のものです。
2009/06/22(月) 00:14:49ID:kAGY284T>だから、画面更新に合わせずに好き勝手にflipしたら、
>ある1枚が長く見えてるかもしれないしある1枚が欠損しているかもしれない。
>だからちらつくように見えると思うんだけど、
ちらつくっていうよりも、それはがたつくというか、コマ落ちとかそういう心配でしょ?
ティアリングってのは君が言ってるように上と下の画像にズレが生じる現象だから、
横に対して線が入って(実際にはドット単位でずれてる)波打ってるようにみえる。
コマ落ちだったらこうは見えないはずでしょ?
実際にプログラム動かしてみてみれば一目瞭然だと思うんだが……。
0576名前は開発中のものです。
2009/06/22(月) 00:17:48ID:VZ3co5HH14歳のやつ
計算式思い切り間違えているぞ。
実際にリフレッシュレートの違うモニタで確かめたから間違いない。
0577名前は開発中のものです。
2009/06/22(月) 00:28:31ID:XZV3fJ2J0578名前は開発中のものです。
2009/06/22(月) 09:11:17ID:4PYRYd3U何がどう違うのか具体的に例をつけて書け
改良案も書け
0579名前は開発中のものです。
2009/06/22(月) 14:34:23ID:N6BYq6ehママにでも頼め。
0580名前は開発中のものです。
2009/06/22(月) 15:54:58ID:VZ3co5HH自分で考える癖をつけよう。
適当な数字を入れて検証してみ。
明らかにおかしいのがわかるから。
どうおかしいのかわかれば治し方は自明だと思う。
0581名前は開発中のものです。
2009/06/22(月) 17:39:07ID:oZ+8nNkj学生さんなのかな?
デジタル写真に法的な証拠能力は無いわけだが
0582名前は開発中のものです。
2009/06/22(月) 17:40:41ID:pV5yAQzs0583名前は開発中のものです。
2009/06/22(月) 18:16:54ID:VZ3co5HH0584名前は開発中のものです。
2009/06/22(月) 20:45:11ID:C5JJD30U0585名前は開発中のものです。
2009/06/22(月) 20:51:20ID:CIAC500Z0586名前は開発中のものです。
2009/06/22(月) 20:51:55ID:kame7wv0いい年こいて2chやってんじゃねえよカス
0587名前は開発中のものです。
2009/06/22(月) 21:05:11ID:CIAC500Z0588名前は開発中のものです。
2009/06/22(月) 21:10:13ID:kame7wv00589名前は開発中のものです。
2009/06/22(月) 21:11:51ID:CIAC500Z0590名前は開発中のものです。
2009/06/22(月) 21:32:05ID:6Vl6l2Pm0591名前は開発中のものです。
2009/06/22(月) 21:58:40ID:kame7wv0オッサンにもなってゲームでも作ってんスかね?w
0592名前は開発中のものです。
2009/06/22(月) 22:52:27ID:wZqXAX7r0593名前は開発中のものです。
2009/06/22(月) 23:27:33ID:PR8N99oV0594名前は開発中のものです。
2009/06/22(月) 23:37:18ID:6Vl6l2Pm0595名前は開発中のものです。
2009/06/23(火) 00:57:26ID:JW/qeXlf0596名前は開発中のものです。
2009/06/23(火) 01:04:40ID:/wkYhisO0597名前は開発中のものです。
2009/06/23(火) 09:24:14ID:eUvBMQ0GDXライブラリでおもしろいゲーム創っていこう。
0598名前は開発中のものです。
2009/06/23(火) 09:52:25ID:dhA25QDvこういう奴は駄目だな……
デバッグ報告になってない
再現例も書けない奴は現場に出てこないでほしいと思う
そもそも「適当な数字を入れたら」ってのは、「適当な数字が必ず入る」という前提なのか?
プログラムの動作の中で「適当な数字」が入らざるを得ないような状況を説明できるのか?
例えばOSやモニタやリフレッシュレートを変えたらおかしい、と言うなら説明になるが
チート使ったらゲームがバグった、レベルの議論は論外だ
こういう人に限って動的な数値に固定値を代入したりしてるんだから
0599名前は開発中のものです。
2009/06/23(火) 09:57:56ID:NMdhocxd現場では嫌がられると思うぞ。
0600名前は開発中のものです。
2009/06/23(火) 09:58:29ID:NvkMU1Q4わからないなら、わかりません教えてくださいって素直に言えばいいんだよ。
0601名前は開発中のものです。
2009/06/23(火) 10:49:50ID:4P883XyE0602名前は開発中のものです。
2009/06/23(火) 12:18:26ID:A0fh8Dl0なんでこんなカリカリしてんのさ
0603名前は開発中のものです。
2009/06/23(火) 12:28:04ID:btxPW8HG0604名前は開発中のものです。
2009/06/23(火) 15:57:39ID:+DVKp8CTわからないなら素直にそういえばいいじゃない。
>例えばOSやモニタやリフレッシュレートを変えたらおかしい、と言うなら説明になるが
>>576
疑うならリフレッシュレート変えて実際に試してみ。
0605名前は開発中のものです。
2009/06/23(火) 17:46:43ID:ifo/8btq0606名前は開発中のものです。
2009/06/23(火) 22:32:28ID:BZp72+wO掲示板だし
そもそも教えない奴にこそ性格に問題抱えてる事がほとんど
0607名前は開発中のものです。
2009/06/23(火) 22:34:58ID:BZp72+wOググレとかそれ以前のことでしょとか嫌味吐くのおまえらじゃん
0608名前は開発中のものです。
2009/06/23(火) 23:13:33ID:joZZV7Mo例えば、タイトル画面でスタートボタン押してから次の画面が表示されるまでの待ちの処理ってのはどうやってフレーム単位で処理すればいいんだろう。
0609名前は開発中のものです。
2009/06/23(火) 23:19:45ID:+iWMMldZこれだけ色々答えてくれる場でなんでそういう考えに至るのか。
あまりにガキ過ぎる。
0610名前は開発中のものです。
2009/06/23(火) 23:21:51ID:UNSoodNB0611名前は開発中のものです。
2009/06/23(火) 23:24:00ID:ifo/8btqどういう意味?
待ちの時間って、本当に何もしないって事?
それともデータロードとかしてる時の事?
0612名前は開発中のものです。
2009/06/23(火) 23:53:01ID:95CP5Nnoガキは教えて貰うのが当たり前だと勘違いしてるから始末が悪い。
0613名前は開発中のものです。
2009/06/24(水) 00:21:16ID:9O2FRRtx0614名前は開発中のものです。
2009/06/24(水) 00:45:52ID:km6ob3xz//14歳本より
//リフレッシュレートの高い環境ほど1フレームあたりの移動量を小さくしfloatの配列にセットする
void SetFrameRate()
{
float frametime = 0;
unsigned int s = GetNowCount();//計算開始時刻をsに代入
for(int i=0; i<30; i++)
{
ScreenFlip();
unsigned int e = GetNowCount();//計測終了時間をeに代入
frametime += e - s ;
s = e;
}
frametime = frametime/30;//30回採取した経過時間の平均を取る
for(int i=1; i<20; i++)
{
idouryou[i] = i / frametime * 16.67;//←ここの式が間違い!自力で治そう!
}
}
解説文は間違っていないから単純ミスだろう
適当な数字を入れてみって言ったのは
frametimeの値が小さくなればどうなるか式に入れて考えてみってこと
試すまでもなくこの式がおかしい事が判る筈
0615名前は開発中のものです。
2009/06/24(水) 01:14:19ID:OqjteeH50616名前は開発中のものです。
2009/06/24(水) 01:20:49ID:zu36k+NF答え言っちゃいけないのかな
あそことあそこ入れ替えるでおk?
0617名前は開発中のものです。
2009/06/24(水) 01:31:30ID:km6ob3xzうん。
それでおk。
ちなみに初版で気付いてラトルズに付属の葉書で出したが
C++本でも後の版でも訂正されなかった。
サポートページに訂正箇所のpdfがあるが読んだら全然違う箇所のことだった。
0618名前は開発中のものです。
2009/06/24(水) 02:15:36ID:6DfYO0Sm0619名前は開発中のものです。
2009/06/24(水) 10:34:44ID:QnhT+AWI0620名前は開発中のものです。
2009/06/24(水) 15:00:37ID:iWb66gX0これ買ったらDXライブラリの作者さんに何らかのお金が行くんだろうか?
行くなら買ってもいいかなあ。
0621名前は開発中のものです。
2009/06/24(水) 19:31:31ID:iPuVSgwO何で答えを言っちゃいけないとかいう言葉が出るの?お前は?
バカなの間抜けなの?なにがそんなに秘密にしたがんの?死ねば?
0622名前は開発中のものです。
2009/06/24(水) 20:29:05ID:2pcTgAck0623名前は開発中のものです。
2009/06/24(水) 20:33:55ID:cCHdRy2i釣りであってくれw
0624名前は開発中のものです。
2009/06/24(水) 20:53:30ID:km6ob3xz0625名前は開発中のものです。
2009/06/25(木) 00:07:29ID:lGFh6/SQ0626名前は開発中のものです。
2009/06/25(木) 00:30:15ID:z4Ht8mWs0627名前は開発中のものです。
2009/06/28(日) 16:38:04ID:Mn3+4Podclass Enemy{};
と
class Player{};
ってのがあったとして、両方とも座標用変数がpribate:になってる場合、両者の当たり判定はどうやって組んだらいいかな?
あと、Enemyをたくさん出したい場合って、class Enemy型の配列をつくっていいの?
それとも他になにか良い方法があるのかな?
今現在、練習を兼ねてミニゲームのようなものを作ってて行き詰っちゃって。
よかったら教えてください。
0628名前は開発中のものです。
2009/06/28(日) 18:36:01ID:zlbWct1+まあ普通は getx(){return x;} という public なメンバ関数から座標を取得するのかな
もう一方の方は俺はEnemy型のlist でやってるけど
配列でも別にいいんじゃないかな
まあ俺みたいなへぼいのから聞くより出来る奴から聞いたほうがいいと思うが
0629名前は開発中のものです。
2009/06/28(日) 18:52:38ID:L4rlBUkj0630名前は開発中のものです。
2009/06/28(日) 19:48:47ID:Mn3+4Pod返答ありがとうございます。
さあ当たり判定を作ろう。と思ったときに上記のことでつまづいて書き込ませもらったんだけど
返答があるまでちょこっとなにか加えようかなと思っていじってたら、上から降ってきたものが
地面についたとたん固まるという想定外の現象に見舞われて、コードの半分ほどを書き直す
羽目になってしまって。
いまだ復旧作業の途中なので、せっかく返答してくれたけどその知識を使うのはもう少しあとになりそうです。
とりあえず、HitEnemy()というメンバ関数を作って、Playerのポインタを渡す感じでいこうかと思ってます。
…出来ないかもしれないけど。返答ありがとうございました。
0631名前は開発中のものです。
2009/06/28(日) 20:07:12ID:FGL1jWKoprivateならget使うことになるんじゃないかな。
めんどいなら一時的にfriendしてやるとか。
0632名前は開発中のものです。
2009/06/28(日) 21:45:36ID:J3SLmnCXって書いてあるけどprivateにする意味があるからprivateなんじゃないのかな。
参照したいならprivateにする意味がないって事なので、
publicにするかアクセサメソッド作ればいいのでは。
まあ後者がいいと思う。
0633名前は開発中のものです。
2009/06/29(月) 00:05:45ID:ExNjCSjV後、これも仕様がワカランからあれだけど Direction(方向)の情報とか必要ないのかな。
0634名前は開発中のものです。
2009/06/29(月) 00:08:39ID:0NdYoqqQ無駄にそういうの増やすと負荷増やすだけだし
ゲームによってはそういうこともやるだろうが
0635名前は開発中のものです。
2009/06/29(月) 23:41:07ID:0tScVOcn0636名前は開発中のものです。
2009/06/29(月) 23:46:20ID:4d+M4K38判定回数が飛躍的に増えるって事でしょう。
0637名前は開発中のものです。
2009/06/30(火) 00:59:39ID:2TdNpUsa理屈がわかんなきゃ全部publicにしてもstaticにしてもいいじゃないかって話になる
クラスの意味をまず勉強した方がいい
0638名前は開発中のものです。
2009/06/30(火) 12:36:26ID:YPE4/kWnと
GraphUnLock
って以前はリファレンスに載ってたと思うんだが、見つからない。
サンプルが見たかったんだけど、以前のリファレンスってもう見れないのか。
インターネットアーカイブはダメだった。
0639名前は開発中のものです。
2009/06/30(火) 12:48:34ID:EGHH7lwt過去スレにそれっぽいものが
http://www.2chsearch.jp/?b=gamedev&d=1224923873#kiji_828
0640名前は開発中のものです。
2009/06/30(火) 13:51:06ID:A8eMVGinリゾート地として知られる南太平洋のタヒチ(仏領ポリネシア)で、たつの市の食品メーカー「イトメン」が製造するインスタントラーメンが売り上げを伸ばしている。
ここ10年で輸出量が倍増しているほか、現地商社の依頼で2年前からカップめんの販売も始めるなどファンを増やしている。
イトメンによると、タヒチへの輸出量は1998年が155万食だったが、2008年には356万食に倍増。
神戸税関によると、神戸港の即席めんの輸出量は07、08年と連続で全国一。
うちタヒチへの輸出は08年が303トンで、同税関は「タヒチ向けはほとんどがイトメンの製品」という。
イトメンの即席めんがタヒチへ渡るようになったのは40年ほど前で、神戸の貿易会社がタヒチに住む中国人向けに輸出したのが始まりという。
タヒチには118の島に23万人が住む。今はシェア6割ほどを占め、イトメンが直接輸出している。
即席めんは、国ごとの味覚に合わせるケースが多く、現地生産が主流。
同社は日本で販売している「チャンポンめん」と味は同じで、パッケージを変え「ALL-IN-ONE」の商品名で販売しているが、現地でも受け入れられている。
人気が高い理由について、同社の伊藤充弘社長(53)は「香港製などライバルの製品が少ないためでは」と分析。
タヒチで日本の旅行会社現地法人で10年間働く日野到さん(36)は「日本のラーメンは最も品質が良くて人気。よく売り切れている。
長年、安定して輸入が続いているイトメンの商品が定着している」という。
伊藤社長は「最近は原料の高騰で利益はほとんどないが、親しまれている味を届け続けたい」としている。
http://www.kobe-np.co.jp/news/keizai/0002072011.shtml
【グルメ】タヒチで日本の即席めん「イトメン」が人気
http://tsushima.2ch.net/test/read.cgi/newsplus/1246257826/
【イトメン】 イトメンのチャンポン麺 【総合スレ】 Part2
http://gimpo.2ch.net/test/read.cgi/nissin/1185419295/
0641名前は開発中のものです。
2009/06/30(火) 14:07:23ID:6Cj5H8P60642名前は開発中のものです。
2009/06/30(火) 14:12:28ID:IiroK7Eg0643名前は開発中のものです。
2009/06/30(火) 21:08:32ID:O5h6+0gK0644名前は開発中のものです。
2009/07/01(水) 00:09:56ID:g4kBRgyqint WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpc, int nC){
while(ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0){
〜
}
}
こう言う風に作れって本に書いてあったんですが
この構造と本格的なwinプログラムの場合のウインドウズプロシージャとかとの関係がイマイチわからないのですが
どういう風になってるんでしょうか?
0645名前は開発中のものです。
2009/07/01(水) 00:15:05ID:UhT4qFyx関係ないと思っておk
0646名前は開発中のものです。
2009/07/01(水) 00:21:01ID:tzxPZ+Bo0647名前は開発中のものです。
2009/07/01(水) 00:31:13ID:9VzVKeVm知人がタイマーイベント仕掛けてWM_TIMERがきたときにループ処理してたからそういうもんだと思って疑わなかった
0648名前は開発中のものです。
2009/07/01(水) 05:08:47ID:aia3X3LP0649名前は開発中のものです。
2009/07/01(水) 09:35:30ID:LrL8gFoC0650名前は開発中のものです。
2009/07/01(水) 19:59:44ID:eeCacGXjきちんと関数化、ライブラリ化すれば難しいゲームでも綺麗に書けるってこと
DXlibの機能には制限があるし、余計な機能もついているので、
最終的に自分で最適なライブラリを書くようになれるのがいいよ
0651名前は開発中のものです。
2009/07/03(金) 20:54:33ID:BsjXjKQw他の関数は普通に使える
0652名前は開発中のものです。
2009/07/04(土) 18:08:40ID:p2ue3IYDうちでは正常に動くが。ヘッダから消してしまったとか。
0653名前は開発中のものです。
2009/07/06(月) 22:42:09ID:AVbDbUwfおせーて
0654名前は開発中のものです。
2009/07/08(水) 01:56:14ID:OgMSMAZ50655名前は開発中のものです。
2009/07/08(水) 02:25:32ID:94RipojrSetLoopPosSoundMemではだめなの?
0656名前は開発中のものです。
2009/07/08(水) 02:58:22ID:OgMSMAZ5ありがとうございます。すみません、説明不足でした。
PlayMusicでストリーム再生し、ループ位置を設定したいのです。
0657名前は開発中のものです。
2009/07/08(水) 11:53:36ID:Qn1Es1PySetLoopPosSoundMemとSetCreateSoundDataTypeを使って解決しました。
ありがとうございました。
0658名前は開発中のものです。
2009/07/08(水) 22:05:37ID:qTICtjjxRAM 4GB
GPU GeForce 9600M GT
VRAM 2GB
OS Windows Vista 64Bit
DxLibで作られたソフトをこいつで動かすと、始めは60fpsでなめらかにも関わらず、
しばらくすると30fpsになるのはなぜなんだ?
ガクガクするならまだしも、ぴったり30fpsなんだ。
またしばらくすると治ったりもするし、なにかひとつの関数が原因になってたりするのかな?
0659名前は開発中のものです。
2009/07/08(水) 22:17:02ID:i+ja7A8H0660名前は開発中のものです。
2009/07/08(水) 22:40:16ID:uhEtjIe1うちも24か30で安定、フルスクリーンだと60fpsありがとうございます状態。
0661名前は開発中のものです。
2009/07/08(水) 23:16:39ID:tUPC3dXe0662名前は開発中のものです。
2009/07/08(水) 23:26:07ID:Sk8AIN2R60、30、24ってよく見る数字だし
0663名前は開発中のものです。
2009/07/09(木) 01:06:35ID:h1wYunUV(1) 1フレームの処理が1/60秒未満なら1秒間に60回描画できる
(2) 1/60秒以上2/60秒未満なら30回描画できる
つまり瞬間的には30か60のどちらかになる
1のケースと2のケースが混ざったとすると長期的には平均することで30と60の間の値になりうる
しかし大抵の場合は1フレームの処理が1/60秒で収まるか、あるいは超えるかで30と60に分かれる
と予想
0664名前は開発中のものです。
2009/07/09(木) 02:46:07ID:IPUdantx0665名前は開発中のものです。
2009/07/09(木) 22:24:55ID:9TUAw73Mというか、GPUの設定をどう変えてもまったく同じ・・・
0666名前は開発中のものです。
2009/07/09(木) 23:12:54ID:PnCCkvgD0667名前は開発中のものです。
2009/07/10(金) 06:17:28ID:On7fn4n80668名前は開発中のものです。
2009/07/10(金) 06:55:03ID:aqVpLVfM0669名前は開発中のものです。
2009/07/10(金) 09:02:40ID:G7FiBYYu全部読んでそれでもわからなかったらまたおいで。
0670名前は開発中のものです。
2009/07/10(金) 12:51:04ID:xhZ5jDJO■ このスレッドは過去ログ倉庫に格納されています