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/
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:xhZ5jDJO0671名前は開発中のものです。
2009/07/10(金) 13:23:29ID:Pbfo1cNYbullet[i].locate.x = 320; とか多重に扱うと見た目が重く感じるぐらい。
0672名前は開発中のものです。
2009/07/10(金) 13:23:43ID:GMEf2Yqs0673名前は開発中のものです。
2009/07/10(金) 15:09:18ID:xhZ5jDJOthx
多重に気をつけて、メンバ変数は極力そのクラス内で処理するようにしますわ
0674名前は開発中のものです。
2009/07/10(金) 23:17:50ID:kvfVpi7wとかなら、ちょっとは考えろよwwとか思うけど。
普通に組んでる限りじゃ、そんな気にする必要はないかと。
どうしても気になるなら、POINTなりをpublicで継承すりゃ、
bullet[i].x=320にできるし、どうせゲームだからこれで問題無いでしょ。
0675名前は開発中のものです。
2009/07/11(土) 01:55:20ID:UeAE0WWVbullet[i].x()=320;
これくらいなら見た目もタイプ量も許容範囲だろ
0676名前は開発中のものです。
2009/07/11(土) 01:56:20ID:UeAE0WWV0677名前は開発中のものです。
2009/07/11(土) 07:49:08ID:wBBMdddU0678名前は開発中のものです。
2009/07/11(土) 18:21:58ID:SvZlB+M+0679名前は開発中のものです。
2009/07/14(火) 04:20:59ID:wRlAP6qv再起動してみると普通に実行されるのは何だろう
0680名前は開発中のものです。
2009/07/14(火) 04:40:19ID:mFQZCpWd何を言いたいのか分らんが・・・
(エスパー希望の相談なのか、只の雑談なのか、愚痴なのか?)
とりあえず、タスク がタスクマネージャーとかのタスク(application)の事なら、
単純にどっかが無限ループに嵌ったか、画面書き換えの部分を通らなくなったか(orキー入力の部分を・・・)
だろう。
とりあえず、printfを色んな所に仕込んでおいて、デバックを掛けるとかするのが基本。
怪しい所がどうみてもライブラリ側だったら、公式に書き込めばいいし、
そうでないなら、再現性を高めて、その変な挙動をここででも、公式ででも聞いてみればいい。
大概は、配列でindexが超えて・・・・とか、switchでbreak;が抜けてて・・・とか
if文の後に変なモノがあって、ifでの抜けだしが効かなくなってたりとか、
{}の対応が微妙にずれてて・・・とか、初期化してないのを使っていて、タイミング次第で・・・とか
(後は、WindowsUpdateしてなさ過ぎて、リターンが遅れてるのを応答なしに解釈されてるとかもあるか、)
0681名前は開発中のものです。
2009/07/14(火) 04:49:20ID:wRlAP6qvその通り
>単純にどっかが無限ループに嵌ったか、画面書き換えの部分を通らなくなったか(orキー入力の部分を・・・)
>だろう。
そういった部分は見当たらなかった
何せOSを再起動させてそのプログラムを再び実行させたら何の問題もなく動いたのですからプログラムに原因があるとは思えないのですが
0682名前は開発中のものです。
2009/07/14(火) 05:07:49ID:pOq3rm7Pあるいは君だけが体験できるくらいレアな現象って事になるだろう?
調べる事ができるのは君だけなんだから
素直に>>680の忠告に従って、きちんと調べていけばいい。
「これで合ってるはず」なんて余計な「思い込み」はデバッグ作業の邪魔にしかならないぞ。
0683名前は開発中のものです。
2009/07/14(火) 05:36:27ID:mFQZCpWdそれだけの事で、プログラムに問題があるとは思えないって・・・・
とりあえず、
初期化なしでつかってる場合にはOS再起動とかで簡単に変わるし、
時間取得なんかをちゃんと処理してないと、
日にち跨ぎや時間跨ぎで、発生したりしなかったりする。
>>682も言うとおり、思い込みよりも手を動かしてデバックしなぁ。
プログラムは書いた通りに動いても、思った通りには動くとは限らないんだからさぁ。
0684名前は開発中のものです。
2009/07/14(火) 06:46:29ID:wRlAP6qvまあ動くようになった訳だからそのまま何事もなかったかのように過ぎていくのだろう
0685名前は開発中のものです。
2009/07/14(火) 07:14:55ID:MgrfsfEm0686名前は開発中のものです。
2009/07/14(火) 07:53:46ID:wRlAP6qvその可能性のあるコードって、(実行時に処理を通ってるコードの中で)
while( (!ProcessMessage()) && (!keybuf[KEY_INPUT_ESCAPE]) )
しかなかったんだが(変な書き方でスマソ)
確かに keybuf はグローバル変数にしてしまってるし
char keybuf[256] = {0};
で初期化したつもりになってるけどどうなんか分らん
まあ動くようになったし確認しようにももうできないからな、動くから
まあ良しとして続けるしかないな
0687名前は開発中のものです。
2009/07/14(火) 08:07:50ID:1FTDe9TM0688名前は開発中のものです。
2009/07/14(火) 09:43:25ID:MgrfsfEm0689名前は開発中のものです。
2009/07/14(火) 20:58:42ID:2Fk/wASWプログラムに思い込みは絶対あかん。
0690名前は開発中のものです。
2009/07/14(火) 23:37:46ID:wRlAP6qvこの先動かなくなる可能性ないわけではないが
そうなったところでこれ以上バグは見つからんだろうな、俺の力では
0691名前は開発中のものです。
2009/07/15(水) 00:00:28ID:MHxGaYOY外見上動いてても、バグがあれば意図してないデータが含まれてる。
0692名前は開発中のものです。
2009/07/15(水) 01:08:24ID:ouOmT7td多分printfとかで一つ一つ処理の中身を吐き出して見てもどの道今の俺の能力では
バグを発見できるとは思えないから忠告はありがたいがこのままいくことにするわ
以前も同じようなこと何回かあったしそんときもちゃんと完成まで漕ぎ付けているし
0693名前は開発中のものです。
2009/07/15(水) 01:17:22ID:Pli3pE87ID:ouOmT7td
お前さ、そんなスタンスなら、なんでわざわざここに書き込んだわけ?はじめから書き込むなよ。
なに、構って欲しかった?わざわざお前の書き込みに一生懸命考えてレスしてくれた
人達に失礼だと思わないの?
0694名前は開発中のものです。
2009/07/15(水) 01:49:11ID:9zT2ADv7プログラムを書いた本人に見当がつかないなら、他人の経験に頼るのも良いと思うよ。
自分がそんなバグにぶち当たったとしても根気だけで調べようとは思わないな。
時間が余ってるなら別だけど。
で、他人の立場から言うと、あれだけの情報で問題のありそうな点を指摘するのは無理だ。
アドバイスとしてはバグ発見を諦めるのではなく自分用バグリストを作ってそこに追加しろ。
0695名前は開発中のものです。
2009/07/15(水) 02:09:56ID:ouOmT7tdでアドバイス通りに考えてみたけど駄目だった
0696名前は開発中のものです。
2009/07/15(水) 02:15:50ID:oAaV9htYそうか、お疲れ。
コード晒す勇気があれば、案外デバックしてくれる人が居るとおもうけど…
(自分一人だと考えがなかなか間違いに気付きにくいからコードレビューは有効だと思う)
「アドバイス通りに考えてみた」ってのは、
もちろん、printfとかでデバック情報をポコポコ吐き出させたけど、バグらしき場所が見あたらなかった
って意味だよね。念のため。
0697名前は開発中のものです。
2009/07/15(水) 02:28:23ID:HAQqwNAf無理なら帰れ
0698名前は開発中のものです。
2009/07/15(水) 06:33:25ID:jzF+qqts俺だけ?
0699名前は開発中のものです。
2009/07/15(水) 07:55:06ID:OJRObvUW意外とバグって見当つけてたとこ以外にあったりするもんなんだよなぁ
0700名前は開発中のものです。
2009/07/15(水) 08:38:43ID:MHxGaYOY>>692でデバッグしてないと言ってるじゃん。
0701名前は開発中のものです。
2009/07/15(水) 10:08:04ID:kzUIqF8J0702名前は開発中のものです。
2009/07/15(水) 10:45:30ID:jzF+qqts分かる分かるw
そしてバグを再現させるのは非プログラマに丸投げする俺
0703名前は開発中のものです。
2009/07/15(水) 11:25:55ID:aCtz8rQi0704名前は開発中のものです。
2009/07/15(水) 20:48:39ID:vgHuQMIaテストも作れないし
そもそもバグなのか想定なのかも混乱するんだろ?
0705名前は開発中のものです。
2009/07/15(水) 21:06:50ID:SOTm+sdF0706名前は開発中のものです。
2009/07/15(水) 21:09:53ID:MHxGaYOY0707名前は開発中のものです。
2009/07/15(水) 23:03:43ID:MZkEPg1i最終的にうまく動作するものが仕様です。
どだい、仕様書でバグが防げると思ってる法が異常。
仕様書の想定だろうが、結果駄目ならバグだろ!
0708名前は開発中のものです。
2009/07/15(水) 23:17:51ID:OJRObvUW仕様の段階でバグ出すレベルの人はちょっとヤバイ。
0709名前は開発中のものです。
2009/07/16(木) 00:10:27ID:ZK0MxNzH紙に書いてみたらあっさり解決ってのはよくあることだけどな。
0710名前は開発中のものです。
2009/07/16(木) 03:15:22ID:1/ar+JW7のが重要なんです!」と力説する新人が入った時を思い出した
0711名前は開発中のものです。
2009/07/16(木) 10:03:06ID:qgWixxR7仕様書がなければダメになる人とそうでない人がいる。
始めた時は正しい方向に向かっていたが、
出来上がった時には違った方向を向いている、
世の中にはそんな人も多くいる。
チームで進めるとき、意思の統一が重要で
依頼しても、出来上がりが違うものになるのは困り者。
人それぞれなので、きちんとできるひともいるので、そのような人は不要と言われる
0712名前は開発中のものです。
2009/07/16(木) 10:53:13ID:glHWB671「言った、言わない」の問題になってしまうから
あらかじめ、ちゃんと紙にして保存しておくって事だろう。
できるできないの問題じゃないよ。
自分のため、相手のための保険みたいなもんだ。
0713名前は開発中のものです。
2009/07/16(木) 11:11:34ID:qgWixxR7チームで行う時の基盤になる、開発ドキュメントとして
取り扱い説明書として、保守業務の基準として必須のものである。
0714名前は開発中のものです。
2009/07/16(木) 11:30:46ID:Frg8+T60作り方が違うだろ
ttp://marupeke296.com/DXCLS_BottumUpStructingOfClass.html
0715名前は開発中のものです。
2009/07/16(木) 13:48:32ID:JxCE3uCoいつかは。
0716名前は開発中のものです。
2009/07/16(木) 16:20:01ID:MA5d2Bm1■ このスレッドは過去ログ倉庫に格納されています