- 1 名前:名前は開発中のものです。 [2009/03/31(火) 01:14:36 ID:IgyJcgap]
- Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリの詳細ついては homepage2.nifty.com/natupaji/DxLib/ を参照して頂きたい。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 過去スレ:DXライブラリ 総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1197468399/ DXライブラリ 総合スレッド 2008 pc11.2ch.net/test/read.cgi/gamedev/1224923873/
- 594 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 23:37:18 ID:6Vl6l2Pm]
- hideyoshi.2ch.net/test/read.cgi/lovesaloon/1235930554
- 595 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 00:57:26 ID:JW/qeXlf]
- DXライブラリはDixq氏のゲームプログラミングの館の影響で東方厨が流れ込んできてるからこんなのはゴマンと居るよ
- 596 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 01:04:40 ID:/wkYhisO]
- いちいち煽らない。
- 597 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 09:24:14 ID:eUvBMQ0G]
- おっさんでもガキでも宇宙人でも何でもいいから、
DXライブラリでおもしろいゲーム創っていこう。
- 598 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 09:52:25 ID:dhA25QDv]
- >>580
こういう奴は駄目だな…… デバッグ報告になってない 再現例も書けない奴は現場に出てこないでほしいと思う そもそも「適当な数字を入れたら」ってのは、「適当な数字が必ず入る」という前提なのか? プログラムの動作の中で「適当な数字」が入らざるを得ないような状況を説明できるのか? 例えばOSやモニタやリフレッシュレートを変えたらおかしい、と言うなら説明になるが チート使ったらゲームがバグった、レベルの議論は論外だ こういう人に限って動的な数値に固定値を代入したりしてるんだから
- 599 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 09:57:56 ID:NMdhocxd]
- 自分で調べようともしないで、他人に訊けば答えが返ってきて当然と思う人間の方が
現場では嫌がられると思うぞ。
- 600 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 09:58:29 ID:NvkMU1Q4]
- >>598
わからないなら、わかりません教えてくださいって素直に言えばいいんだよ。
- 601 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 10:49:50 ID:4P883XyE]
- 嘘なら嘘でしたといったほうがいい
- 602 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 12:18:26 ID:A0fh8Dl0]
- 作ってて楽しいからゲーム製作してるんだろ?
なんでこんなカリカリしてんのさ
- 603 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 12:28:04 ID:btxPW8HG]
- 分をわきまえず背伸びしてるから疲れてるんだろ
- 604 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 15:57:39 ID:+DVKp8CT]
- >>598
わからないなら素直にそういえばいいじゃない。 >例えばOSやモニタやリフレッシュレートを変えたらおかしい、と言うなら説明になるが >>576 疑うならリフレッシュレート変えて実際に試してみ。
- 605 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 17:46:43 ID:ifo/8btq]
- ソース見せてくれたら第三者にも判断つくんだけどね。
- 606 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 22:32:28 ID:BZp72+wO]
- ここ現場じゃねーし
掲示板だし そもそも教えない奴にこそ性格に問題抱えてる事がほとんど
- 607 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 22:34:58 ID:BZp72+wO]
- わからない、とそいつが言ったら言ったで責めんの目に見えてるし
ググレとかそれ以前のことでしょとか嫌味吐くのおまえらじゃん
- 608 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 23:13:33 ID:joZZV7Mo]
- フレーム単位で処理してモニタのリフレッシュレートに合わせて移動量を変えればリフレッシュレートによらず処理できることは分かるけど、
例えば、タイトル画面でスタートボタン押してから次の画面が表示されるまでの待ちの処理ってのはどうやってフレーム単位で処理すればいいんだろう。
- 609 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 23:19:45 ID:+iWMMldZ]
- >>607
これだけ色々答えてくれる場でなんでそういう考えに至るのか。 あまりにガキ過ぎる。
- 610 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 23:21:51 ID:UNSoodNB]
- そんなもん無視しろ
- 611 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 23:24:00 ID:ifo/8btq]
- >>608
どういう意味? 待ちの時間って、本当に何もしないって事? それともデータロードとかしてる時の事?
- 612 名前:名前は開発中のものです。 [2009/06/23(火) 23:53:01 ID:95CP5Nno]
- ゆとり乙
ガキは教えて貰うのが当たり前だと勘違いしてるから始末が悪い。
- 613 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 00:21:16 ID:9O2FRRtx]
- 移動量だけでなく待ちのフレーム数も可変にしないといけないとなるとちょっと面倒だな
- 614 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 00:45:52 ID:km6ob3xz]
- >>607
//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の値が小さくなればどうなるか式に入れて考えてみってこと 試すまでもなくこの式がおかしい事が判る筈
- 615 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 01:14:19 ID:OqjteeH5]
- FPS計測するとき同じミスよくやったなぁ
- 616 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 01:20:49 ID:zu36k+NF]
- 俺もそこおかしいと思ってずっと悩まされてた
答え言っちゃいけないのかな あそことあそこ入れ替えるでおk?
- 617 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 01:31:30 ID:km6ob3xz]
- >>616
うん。 それでおk。 ちなみに初版で気付いてラトルズに付属の葉書で出したが C++本でも後の版でも訂正されなかった。 サポートページに訂正箇所のpdfがあるが読んだら全然違う箇所のことだった。
- 618 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 02:15:36 ID:6DfYO0Sm]
- 14歳から〜って読んでる人結構いるんだな
- 619 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 10:34:44 ID:QnhT+AWI]
- 知らぬは、著者ただ一人だけ
- 620 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 15:00:37 ID:iWb66gX0]
- 「14歳〜」って読んだこと無いのだけれど、
これ買ったらDXライブラリの作者さんに何らかのお金が行くんだろうか? 行くなら買ってもいいかなあ。
- 621 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 19:31:31 ID:iPuVSgwO]
- >>616
何で答えを言っちゃいけないとかいう言葉が出るの?お前は? バカなの間抜けなの?なにがそんなに秘密にしたがんの?死ねば?
- 622 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 20:29:05 ID:2pcTgAck]
- 釣りだとわかってるけど笑ってしまったw
- 623 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 20:33:55 ID:cCHdRy2i]
- ティアリングに拘るよりやることがあるだろw
釣りであってくれw
- 624 名前:名前は開発中のものです。 mailto:sage [2009/06/24(水) 20:53:30 ID:km6ob3xz]
- ネタじゃなかったら日本が滅ぶw
- 625 名前:名前は開発中のものです。 mailto:sage [2009/06/25(木) 00:07:29 ID:lGFh6/SQ]
- ティアリングサーガだな
- 626 名前:名前は開発中のものです。 mailto:sage [2009/06/25(木) 00:30:15 ID:z4Ht8mWs]
- こだわるのはプログラマの性だしなあ
- 627 名前:名前は開発中のものです。 [2009/06/28(日) 16:38:04 ID:Mn3+4Pod]
- 例えば
class Enemy{}; と class Player{}; ってのがあったとして、両方とも座標用変数がpribate:になってる場合、両者の当たり判定はどうやって組んだらいいかな? あと、Enemyをたくさん出したい場合って、class Enemy型の配列をつくっていいの? それとも他になにか良い方法があるのかな? 今現在、練習を兼ねてミニゲームのようなものを作ってて行き詰っちゃって。 よかったら教えてください。
- 628 名前:名前は開発中のものです。 mailto:sage [2009/06/28(日) 18:36:01 ID:zlbWct1+]
- 俺は面倒だからpublic でやってるけど
まあ普通は getx(){return x;} という public なメンバ関数から座標を取得するのかな もう一方の方は俺はEnemy型のlist でやってるけど 配列でも別にいいんじゃないかな まあ俺みたいなへぼいのから聞くより出来る奴から聞いたほうがいいと思うが
- 629 名前:名前は開発中のものです。 mailto:sage [2009/06/28(日) 18:52:38 ID:L4rlBUkj]
- Enemy中でplayer->touch_p(this->x,this->y)とかどうかな
- 630 名前:名前は開発中のものです。 [2009/06/28(日) 19:48:47 ID:Mn3+4Pod]
- >>628-629
返答ありがとうございます。 さあ当たり判定を作ろう。と思ったときに上記のことでつまづいて書き込ませもらったんだけど 返答があるまでちょこっとなにか加えようかなと思っていじってたら、上から降ってきたものが 地面についたとたん固まるという想定外の現象に見舞われて、コードの半分ほどを書き直す 羽目になってしまって。 いまだ復旧作業の途中なので、せっかく返答してくれたけどその知識を使うのはもう少しあとになりそうです。 とりあえず、HitEnemy()というメンバ関数を作って、Playerのポインタを渡す感じでいこうかと思ってます。 …出来ないかもしれないけど。返答ありがとうございました。
- 631 名前:名前は開発中のものです。 mailto:sage [2009/06/28(日) 20:07:12 ID:FGL1jWKo]
- ポインタを渡しても直接値を参照することはできないから
privateならget使うことになるんじゃないかな。 めんどいなら一時的にfriendしてやるとか。
- 632 名前:名前は開発中のものです。 mailto:sage [2009/06/28(日) 21:45:36 ID:J3SLmnCX]
- >privateになってる場合
って書いてあるけどprivateにする意味があるからprivateなんじゃないのかな。 参照したいならprivateにする意味がないって事なので、 publicにするかアクセサメソッド作ればいいのでは。 まあ後者がいいと思う。
- 633 名前:名前は開発中のものです。 mailto:sage [2009/06/29(月) 00:05:45 ID:ExNjCSjV]
- 仕様がワカランからアレだけど、Enemy同士の当たり判定は必要ないのかな。
後、これも仕様がワカランからあれだけど Direction(方向)の情報とか必要ないのかな。
- 634 名前:名前は開発中のものです。 mailto:sage [2009/06/29(月) 00:08:39 ID:0NdYoqqQ]
- シューティングだとそれらのことあまりやらないんじゃないか
無駄にそういうの増やすと負荷増やすだけだし ゲームによってはそういうこともやるだろうが
- 635 名前:名前は開発中のものです。 [2009/06/29(月) 23:41:07 ID:0tScVOcn]
- Enemy同士もPlayerと同じ方法で判定すればよくないか?
- 636 名前:名前は開発中のものです。 mailto:sage [2009/06/29(月) 23:46:20 ID:4d+M4K38]
- playerとenemyなら1対多だけど、enemyとenemyだと多対多になって
判定回数が飛躍的に増えるって事でしょう。
- 637 名前:名前は開発中のものです。 mailto:sage [2009/06/30(火) 00:59:39 ID:2TdNpUsa]
- そもそも何でprivateなのか分かってんのかと
理屈がわかんなきゃ全部publicにしてもstaticにしてもいいじゃないかって話になる クラスの意味をまず勉強した方がいい
- 638 名前:名前は開発中のものです。 mailto:sage [2009/06/30(火) 12:36:26 ID:YPE4/kWn]
- GraphLock
と GraphUnLock って以前はリファレンスに載ってたと思うんだが、見つからない。 サンプルが見たかったんだけど、以前のリファレンスってもう見れないのか。 インターネットアーカイブはダメだった。
- 639 名前:名前は開発中のものです。 mailto:sage [2009/06/30(火) 12:48:34 ID:EGHH7lwt]
- >>639
過去スレにそれっぽいものが www.2chsearch.jp/?b=gamedev&d=1224923873#kiji_828
- 640 名前:名前は開発中のものです。 [2009/06/30(火) 13:51:06 ID:A8eMVGin]
- タヒチで日本の即席めん大人気
リゾート地として知られる南太平洋のタヒチ(仏領ポリネシア)で、たつの市の食品メーカー「イトメン」が製造するインスタントラーメンが売り上げを伸ばしている。 ここ10年で輸出量が倍増しているほか、現地商社の依頼で2年前からカップめんの販売も始めるなどファンを増やしている。 イトメンによると、タヒチへの輸出量は1998年が155万食だったが、2008年には356万食に倍増。 神戸税関によると、神戸港の即席めんの輸出量は07、08年と連続で全国一。 うちタヒチへの輸出は08年が303トンで、同税関は「タヒチ向けはほとんどがイトメンの製品」という。 イトメンの即席めんがタヒチへ渡るようになったのは40年ほど前で、神戸の貿易会社がタヒチに住む中国人向けに輸出したのが始まりという。 タヒチには118の島に23万人が住む。今はシェア6割ほどを占め、イトメンが直接輸出している。 即席めんは、国ごとの味覚に合わせるケースが多く、現地生産が主流。 同社は日本で販売している「チャンポンめん」と味は同じで、パッケージを変え「ALL-IN-ONE」の商品名で販売しているが、現地でも受け入れられている。 人気が高い理由について、同社の伊藤充弘社長(53)は「香港製などライバルの製品が少ないためでは」と分析。 タヒチで日本の旅行会社現地法人で10年間働く日野到さん(36)は「日本のラーメンは最も品質が良くて人気。よく売り切れている。 長年、安定して輸入が続いているイトメンの商品が定着している」という。 伊藤社長は「最近は原料の高騰で利益はほとんどないが、親しまれている味を届け続けたい」としている。 www.kobe-np.co.jp/news/keizai/0002072011.shtml 【グルメ】タヒチで日本の即席めん「イトメン」が人気 tsushima.2ch.net/test/read.cgi/newsplus/1246257826/ 【イトメン】 イトメンのチャンポン麺 【総合スレ】 Part2 gimpo.2ch.net/test/read.cgi/nissin/1185419295/
- 641 名前:名前は開発中のものです。 mailto:sage [2009/06/30(火) 14:07:23 ID:6Cj5H8P6]
- 貴重な小麦粉をインスタントラーメンなんかに使うな馬鹿たれ。
- 642 名前:名前は開発中のものです。 mailto:sage [2009/06/30(火) 14:12:28 ID:IiroK7Eg]
- ここはニュー速じゃないぞ
- 643 名前:名前は開発中のものです。 mailto:sage [2009/06/30(火) 21:08:32 ID:O5h6+0gK]
- 私がニュー速だ。ここをあけろ!
- 644 名前:名前は開発中のものです。 mailto:sage [2009/07/01(水) 00:09:56 ID:g4kBRgyq]
- DXLibを使う場合、全体を
int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpc, int nC){ while(ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0){ 〜 } } こう言う風に作れって本に書いてあったんですが この構造と本格的なwinプログラムの場合のウインドウズプロシージャとかとの関係がイマイチわからないのですが どういう風になってるんでしょうか?
- 645 名前:名前は開発中のものです。 mailto:sage [2009/07/01(水) 00:15:05 ID:UhT4qFyx]
- >644
関係ないと思っておk
- 646 名前:名前は開発中のものです。 mailto:sage [2009/07/01(水) 00:21:01 ID:tzxPZ+Bo]
- 初めてDXライブラリ使った時、小難しいwinプログラムがなんでこんなツクールみたいになるのかと愕然としたよ
- 647 名前:名前は開発中のものです。 mailto:sage [2009/07/01(水) 00:31:13 ID:9VzVKeVm]
- 俺も最初WinMainではウインドウ作成とメッセージループしかしちゃいけないと思ってた
知人がタイマーイベント仕掛けてWM_TIMERがきたときにループ処理してたからそういうもんだと思って疑わなかった
- 648 名前:名前は開発中のものです。 mailto:sage [2009/07/01(水) 05:08:47 ID:aia3X3LP]
- BorlandC++BuilderやDelphiのソースを読むともっとビックリするよん。
- 649 名前:名前は開発中のものです。 mailto:sage [2009/07/01(水) 09:35:30 ID:LrL8gFoC]
- 落ち目会社だしどうでもいい
- 650 名前:名前は開発中のものです。 mailto:sage [2009/07/01(水) 19:59:44 ID:eeCacGXj]
- >>646
きちんと関数化、ライブラリ化すれば難しいゲームでも綺麗に書けるってこと DXlibの機能には制限があるし、余計な機能もついているので、 最終的に自分で最適なライブラリを書くようになれるのがいいよ
- 651 名前:名前は開発中のものです。 mailto:sage [2009/07/03(金) 20:54:33 ID:BsjXjKQw]
- SetMainWindowTextが未定義関数扱いされるんだがどういうことなの・・・
他の関数は普通に使える
- 652 名前:名前は開発中のものです。 mailto:sage [2009/07/04(土) 18:08:40 ID:p2ue3IYD]
- >>651
うちでは正常に動くが。ヘッダから消してしまったとか。
- 653 名前:名前は開発中のものです。 mailto:sage [2009/07/06(月) 22:42:09 ID:AVbDbUwf]
- ステータスバーってどうやって付けれるのよ?
おせーて
- 654 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 01:56:14 ID:OgMSMAZ5]
- ファイルから再生する音楽のループ位置を設定することはできますか?
- 655 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 02:25:32 ID:94Ripojr]
- >>654
SetLoopPosSoundMemではだめなの?
- 656 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 02:58:22 ID:OgMSMAZ5]
- >>655
ありがとうございます。すみません、説明不足でした。 PlayMusicでストリーム再生し、ループ位置を設定したいのです。
- 657 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 11:53:36 ID:Qn1Es1Py]
- >>655
SetLoopPosSoundMemとSetCreateSoundDataTypeを使って解決しました。 ありがとうございました。
- 658 名前:名前は開発中のものです。 [2009/07/08(水) 22:05:37 ID:qTICtjjx]
- CPU Core 2 Duo 2.66GHz
RAM 4GB GPU GeForce 9600M GT VRAM 2GB OS Windows Vista 64Bit DxLibで作られたソフトをこいつで動かすと、始めは60fpsでなめらかにも関わらず、 しばらくすると30fpsになるのはなぜなんだ? ガクガクするならまだしも、ぴったり30fpsなんだ。 またしばらくすると治ったりもするし、なにかひとつの関数が原因になってたりするのかな?
- 659 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 22:17:02 ID:i+ja7A8H]
- ScreenFlip()を2回呼んでいるとか
- 660 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 22:40:16 ID:uhEtjIe1]
- Vistaのいたずらじゃないかな?
うちも24か30で安定、フルスクリーンだと60fpsありがとうございます状態。
- 661 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 23:16:39 ID:tUPC3dXe]
- なんか最近どっかで見たような質問だな……。
- 662 名前:名前は開発中のものです。 mailto:sage [2009/07/08(水) 23:26:07 ID:Sk8AIN2R]
- ビデオカードとそのドライバと設定だな
60、30、24ってよく見る数字だし
- 663 名前:名前は開発中のものです。 mailto:sage [2009/07/09(木) 01:06:35 ID:h1wYunUV]
- 60hzに同期して描画したとする
(1) 1フレームの処理が1/60秒未満なら1秒間に60回描画できる (2) 1/60秒以上2/60秒未満なら30回描画できる つまり瞬間的には30か60のどちらかになる 1のケースと2のケースが混ざったとすると長期的には平均することで30と60の間の値になりうる しかし大抵の場合は1フレームの処理が1/60秒で収まるか、あるいは超えるかで30と60に分かれる と予想
- 664 名前:名前は開発中のものです。 mailto:sage [2009/07/09(木) 02:46:07 ID:IPUdantx]
- ていうか垂直同期信号待ちをしてるのかしてないのかを先に明記してくれないと。
- 665 名前:名前は開発中のものです。 mailto:sage [2009/07/09(木) 22:24:55 ID:9TUAw73M]
- GPUの垂直同期をオフにしてもオンにしても結果が変わらず。
というか、GPUの設定をどう変えてもまったく同じ・・・
- 666 名前:名前は開発中のものです。 mailto:sage [2009/07/09(木) 23:12:54 ID:PnCCkvgD]
- もともとDXライブラリ側でOFFにしてるんじゃないの?
- 667 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 06:17:28 ID:On7fn4n8]
- 画像を半透明で描写する方法ってDXライブラリにありますか?
- 668 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 06:55:03 ID:aqVpLVfM]
- リファレンスも読めんのか…
- 669 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 09:02:40 ID:G7FiBYYu]
- あるよ。リファレンスにある。
全部読んでそれでもわからなかったらまたおいで。
- 670 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 12:51:04 ID:xhZ5jDJO]
- 座標ってxyで行うから構造体でセットにして扱うのってなんか不都合ある?
- 671 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 13:23:29 ID:Pbfo1cNY]
- 無いよ。
bullet[i].locate.x = 320; とか多重に扱うと見た目が重く感じるぐらい。
- 672 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 13:23:43 ID:GMEf2Yqs]
- 全然ないから、POINT を使うと良いよ。
- 673 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 15:09:18 ID:xhZ5jDJO]
- >>671-672
thx 多重に気をつけて、メンバ変数は極力そのクラス内で処理するようにしますわ
- 674 名前:名前は開発中のものです。 mailto:sage [2009/07/10(金) 23:17:50 ID:kvfVpi7w]
- EnemyManager.Small.Flying.Bullet[i].Location.x = GameCanvas.TopLayer.ViewObject.Set(320);
とかなら、ちょっとは考えろよwwとか思うけど。 普通に組んでる限りじゃ、そんな気にする必要はないかと。 どうしても気になるなら、POINTなりをpublicで継承すりゃ、 bullet[i].x=320にできるし、どうせゲームだからこれで問題無いでしょ。
- 675 名前:名前は開発中のものです。 mailto:sage [2009/07/11(土) 01:55:20 ID:UeAE0WWV]
- アクセス権が気になるなら参照を返すアクセサ作ればいいしな
bullet[i].x()=320; これくらいなら見た目もタイプ量も許容範囲だろ
- 676 名前:名前は開発中のものです。 mailto:sage [2009/07/11(土) 01:56:20 ID:UeAE0WWV]
- あ、もちろんインライン展開される書き方前提でな
- 677 名前:名前は開発中のものです。 mailto:sage [2009/07/11(土) 07:49:08 ID:wBBMdddU]
- そういったセットになり易いものって他にどんなのがあるかな?
- 678 名前:名前は開発中のものです。 mailto:sage [2009/07/11(土) 18:21:58 ID:SvZlB+M+]
- セットって?
- 679 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 04:20:59 ID:wRlAP6qv]
- たまにタスクが応答なしになるという原因不明のバグに悩まされ
再起動してみると普通に実行されるのは何だろう
- 680 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 04:40:19 ID:mFQZCpWd]
- >>679
何を言いたいのか分らんが・・・ (エスパー希望の相談なのか、只の雑談なのか、愚痴なのか?) とりあえず、タスク がタスクマネージャーとかのタスク(application)の事なら、 単純にどっかが無限ループに嵌ったか、画面書き換えの部分を通らなくなったか(orキー入力の部分を・・・) だろう。 とりあえず、printfを色んな所に仕込んでおいて、デバックを掛けるとかするのが基本。 怪しい所がどうみてもライブラリ側だったら、公式に書き込めばいいし、 そうでないなら、再現性を高めて、その変な挙動をここででも、公式ででも聞いてみればいい。 大概は、配列でindexが超えて・・・・とか、switchでbreak;が抜けてて・・・とか if文の後に変なモノがあって、ifでの抜けだしが効かなくなってたりとか、 {}の対応が微妙にずれてて・・・とか、初期化してないのを使っていて、タイミング次第で・・・とか (後は、WindowsUpdateしてなさ過ぎて、リターンが遅れてるのを応答なしに解釈されてるとかもあるか、)
- 681 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 04:49:20 ID:wRlAP6qv]
- >とりあえず、タスク がタスクマネージャーとかのタスク(application)の事なら、
その通り >単純にどっかが無限ループに嵌ったか、画面書き換えの部分を通らなくなったか(orキー入力の部分を・・・) >だろう。 そういった部分は見当たらなかった 何せOSを再起動させてそのプログラムを再び実行させたら何の問題もなく動いたのですからプログラムに原因があるとは思えないのですが
- 682 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 05:07:49 ID:pOq3rm7P]
- そういう現象が出てるのが君だけなんだから君のプログラムに問題があるか、
あるいは君だけが体験できるくらいレアな現象って事になるだろう? 調べる事ができるのは君だけなんだから 素直に>>680の忠告に従って、きちんと調べていけばいい。 「これで合ってるはず」なんて余計な「思い込み」はデバッグ作業の邪魔にしかならないぞ。
- 683 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 05:36:27 ID:mFQZCpWd]
- >>681
それだけの事で、プログラムに問題があるとは思えないって・・・・ とりあえず、 初期化なしでつかってる場合にはOS再起動とかで簡単に変わるし、 時間取得なんかをちゃんと処理してないと、 日にち跨ぎや時間跨ぎで、発生したりしなかったりする。 >>682も言うとおり、思い込みよりも手を動かしてデバックしなぁ。 プログラムは書いた通りに動いても、思った通りには動くとは限らないんだからさぁ。
- 684 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 06:46:29 ID:wRlAP6qv]
- だってデバッグしたけど分んないんだもん
まあ動くようになった訳だからそのまま何事もなかったかのように過ぎていくのだろう
- 685 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 07:14:55 ID:MgrfsfEm]
- forやwhileで使ってる変数の初期化忘れあたりが怪しいけどどうなんだろうな
- 686 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 07:53:46 ID:wRlAP6qv]
- それはないと思うがなあ
その可能性のあるコードって、(実行時に処理を通ってるコードの中で) while( (!ProcessMessage()) && (!keybuf[KEY_INPUT_ESCAPE]) ) しかなかったんだが(変な書き方でスマソ) 確かに keybuf はグローバル変数にしてしまってるし char keybuf[256] = {0}; で初期化したつもりになってるけどどうなんか分らん まあ動くようになったし確認しようにももうできないからな、動くから まあ良しとして続けるしかないな
- 687 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 08:07:50 ID:1FTDe9TM]
- こうしてバグが量産され、ついにはうんともすんとも動かなくなりねあげる姿が
- 688 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 09:43:25 ID:MgrfsfEm]
- 裏画面の内容をテクスチャにコピーする関数ってあったっけ?
- 689 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 20:58:42 ID:2Fk/wASW]
- 「無いと思う」とかじゃなくて確かめないと。
プログラムに思い込みは絶対あかん。
- 690 名前:名前は開発中のものです。 mailto:sage [2009/07/14(火) 23:37:46 ID:wRlAP6qv]
- だって動くようになったから確かめようがないじゃん
この先動かなくなる可能性ないわけではないが そうなったところでこれ以上バグは見つからんだろうな、俺の力では
- 691 名前:名前は開発中のものです。 mailto:sage [2009/07/15(水) 00:00:28 ID:MHxGaYOY]
- だからprintfとかで一つ一つ処理の中身を吐き出して見るんじゃん。
外見上動いてても、バグがあれば意図してないデータが含まれてる。
- 692 名前:名前は開発中のものです。 mailto:sage [2009/07/15(水) 01:08:24 ID:ouOmT7td]
- うーん、やっぱりバグがあるとはどうしても思えないし
多分printfとかで一つ一つ処理の中身を吐き出して見てもどの道今の俺の能力では バグを発見できるとは思えないから忠告はありがたいがこのままいくことにするわ 以前も同じようなこと何回かあったしそんときもちゃんと完成まで漕ぎ付けているし
- 693 名前:名前は開発中のものです。 [2009/07/15(水) 01:17:22 ID:Pli3pE87]
- ID:wRlAP6qv
ID:ouOmT7td お前さ、そんなスタンスなら、なんでわざわざここに書き込んだわけ?はじめから書き込むなよ。 なに、構って欲しかった?わざわざお前の書き込みに一生懸命考えてレスしてくれた 人達に失礼だと思わないの?
- 694 名前:名前は開発中のものです。 mailto:sage [2009/07/15(水) 01:49:11 ID:9zT2ADv7]
- 実際問題、再現性のないバグを修正するのは難しいよ。
プログラムを書いた本人に見当がつかないなら、他人の経験に頼るのも良いと思うよ。 自分がそんなバグにぶち当たったとしても根気だけで調べようとは思わないな。 時間が余ってるなら別だけど。 で、他人の立場から言うと、あれだけの情報で問題のありそうな点を指摘するのは無理だ。 アドバイスとしてはバグ発見を諦めるのではなく自分用バグリストを作ってそこに追加しろ。
|

|