- 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/
- 556 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 21:26:14 ID:nqKSgOSf]
- >>555
何が「なるほど」なんだか・・・ 548をどう読めば 「リフレッシュレートを何らかの方法で取得して、1フレームの移動量をリフレッシュレートに合わせて変更する 」 の説明になるんだよ 読む気がないなら質問なんてするな
- 557 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 21:33:30 ID:E25maqZD]
- >>548は垂直同期を待たない事で解決出来るとか言ってるから話にならないじゃん
ダブルバッファリングしてるからティアリングはおきないとか言ってるし。
- 558 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 21:41:05 ID:OYxJ3LRg]
- ダブルバッファリングとティアリングは関係ないよな。
垂直同期信号待ちしないと、裏画面と表画面切り替える瞬間にモニタ画面更新される事もあるから結局ティアリングは発生する。
- 559 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 21:59:20 ID:SurdRKYg]
- >>557
垂直同期を待たない事で解決出来るのは60fpsにならない場合の話だから下5行は読まなくていいよ。 しかもコマ落ちさせれば同期待ちでも解決出来るって書いてあるのに…。 120Hzのモニタで同期待ちするけど60fpsに制限すればゲーム速度も一定になるでしょ? 1フレームの移動量を変更するんじゃなく、移動量をフレームに合わせれば常に一定でしょ? >>558 flipする時はコピーするんじゃなくてVRAMの参照先を変えるだけだから、VRAM上のデータを書き換え途中って事は無いと思うけど。 だからどの瞬間においても描画途中で画面更新される事は無いと思うんだけど違うのかな? もちろんこれはティアリングの厳密な意味でのことなので、広義の意味の 画面のちらつき=ティアリング として使われる事についてはそれでいいけど。
- 560 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:03:54 ID:nqKSgOSf]
- >>559
残念だけど垂直同期を待たない場合はビデオカードがモニタに映像を送信している間でも 参照先のVRAMアドレスを変えてしまうからティアリングは発生する
- 561 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:08:13 ID:OYxJ3LRg]
- >>559
DXライブラリで裏画面への描きこみ、ScreenFlipってほとんどデフォだよね? これが君のいうダブルバッファリングでしょ? ScreenFlipの垂直同期信号待ちをOFFにして、 タイマーだけでスピード固定するようにして、フルスクリーンで動かしてごらん。 ティアリング一目瞭然だから。
- 562 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:11:13 ID:SurdRKYg]
- >>560
そうなんだ。どうもありがとう。 同期しない事によるちらつきは画面更新部分と非更新部分の時間がばらばらな事による現象かと思ってた。 モニタのVsync信号の方が偉くて、そのタイミングでflipした時は次のVRAMの更新先を強制的に参照するみたいな認識でいいのかな。
- 563 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:16:46 ID:SurdRKYg]
- >>561
ややや、ちらつくのは一目瞭然だけど、ティアリング(=上半分表画面で下半分裏画面のような状態)かどうかっていのは人間の目では判別不可能でしょ。 そのちらつきの原因は、更新部分と更新して無い部分の時間差によるものだと思ってた。 例えば背景が流れる画面の場合、1場面を■、次の場面を□とした場合、 ■□■□■□■□■□ と見えればちらつかないが、 ■■□■□□□■■□ のように見えるとちらついてみえると思うんだ。 でも>>560のレスで、ティアリング自体も起きているとのことなので一応解決出来た。 これはもうちょっと自力で調べてみようと思う。
- 564 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:23:40 ID:OYxJ3LRg]
- 「垂直同期信号待ち」ってのは要するに画面が全部描き終わるまで待つって事だから。
描き終わって、次の画面が描き始められるまでの一瞬の間にVRAMのアドレスを切り替える、って事だね。 そうする事で初めてティアリングを防げる。 >>563 ちらつくというより画面が波打つ、と言った方がよかったかな。 >ティアリング(=上半分表画面で下半分裏画面のような状態)かどうかっていのは人間の目では判別不可能でしょ。 ぴったりには合わないとは言え、だいたい60FPSで固定しようとしてスピード調整してるわけだから ズレが生じるのも大体画面更新の同じタイミングになるわけ。 当然、人間の目にもはっきり判るよ。
- 565 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:40:54 ID:Fv4f33jD]
- >>563
固定フレームレートの2Dゲーははっきりとわかる キャラだけならともかく背景のスクロールもよくつかわれるからくっきりと 3Dとかで可変フレームレートだとわかりにくくなるかな でも2Dメインでしょ、DXライブラリ
- 566 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 22:52:23 ID:i9HN6tkr]
- 問)
垂直同期を待たずにティアリングを抑制する方法を答えよ 答) 垂直同期信号の発生周期をフリップのタイミングの合わせればよい
- 567 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 23:06:19 ID:FjFdKqe+]
- 誤字があるから△だな
- 568 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 23:09:10 ID:SurdRKYg]
- >>564
CRTの場合は走査線があるので画面の上半分と下半分で違う場合もあると思うんだけど、 液晶の場合は1画面をいっぺんに更新するわけだけど、それでも上半分と下半分で違うようなものになるってことなのですか? VRAMから送られるデータは画面の左上から右下のデータが順次送られてるのかな? そしてその送られてる時間がネックになっていてその間にflipしたらバックバッファの途中のアドレスから参照されるってこと!? それってそもそもおかしくないですか? バックバッファが出来上がっていない可能性もあるし、どうせ同期待ちしていないんだからとりあえずフロントバッファのデータを送りきってからバックバッファ分を送ればいいわけだし。 じゃあ将来例えば物凄くリフレッシュレートが高くなった場合、VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速かったりしたら "同期待ちしてるのにティアリングが起きてる"っていう最悪な状態になっちゃいそうですが。 なのでやっぱり液晶の場合はティアリングは起きていないと思いますがどうでしょう? >>565 えと、だから、画面更新に合わせずに好き勝手にflipしたら、 ある1枚が長く見えてるかもしれないしある1枚が欠損しているかもしれない。 だからちらつくように見えると思うんだけど、 肉眼でただちらつくように見えるからってそれはティアリングが起きてる証明にはなってないよ。
- 569 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 23:33:13 ID:E25maqZD]
- とりあえず3行以内に要約する癖をつけてくれ
- 570 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 23:41:01 ID:nqKSgOSf]
- >>568
>VRAMから送られるデータは画面の左上から右下のデータが順次送られてるのかな? Yes >そしてその送られてる時間がネックになっていてその間にflipしたらバックバッファの途中のアドレスから参照されるってこと!? Yes >バックバッファが出来上がっていない可能性もあるし、どうせ同期待ちしていないんだからとりあえずフロントバッファのデータを送りきってからバックバッファ分を送ればいいわけだし。 ? 何を言いたいのか良くわからないけど VRAMのデータをモニタに送るタイミングはPC側からは操作できない リフレッシュレートに依存する >じゃあ将来例えば物凄くリフレッシュレートが高くなった場合、VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速かったりしたら >"同期待ちしてるのにティアリングが起きてる"っていう最悪な状態になっちゃいそうですが。 縦解像度nの画面データをモニタに送る流れ 0lineを転送→水平同期期間→1lineを転送→水平同期期間→ nlineを転送→垂直同期期間→0lineを転送→水平同期期間 つまり、垂直同期間は1画面分のデータを転送した後にくるので、 「VRAMからモニタにデータを送る時間よりもモニタの更新速度の方が速い」 というのはそもそもありえないよ、nline分送る前に垂直同期期間に突入する事はないから・・・
- 571 名前:名前は開発中のものです。 mailto:sage [2009/06/21(日) 23:45:26 ID:nqKSgOSf]
- 2点修正
>リフレッシュレートに依存する 厳密には設定した解像度とリフレッシュレートに応じて発生する 水平同期信号と垂直同期信号に依存する >0lineを転送→水平同期期間→1lineを転送→水平同期期間→ >nlineを転送→垂直同期期間→0lineを転送→水平同期期間 0lineを転送→水平同期期間→1lineを転送→水平同期期間→ (n-1)lineを転送→垂直同期期間→0lineを転送→水平同期期間 の誤り
- 572 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 00:07:43 ID:kame7wv0]
- >>569
おまえ顔真っ赤だぞ?
- 573 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 00:08:14 ID:1Ugl+7iQ]
- で
- 574 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 00:09:59 ID:ErP4dB7R]
- >>570-571
そういうことだったんですね。 詳しい説明どうもありがとうございます。 >VRAMのデータをモニタに送るタイミングはPC側からは操作できない >厳密には設定した解像度とリフレッシュレートに応じて発生する >水平同期信号と垂直同期信号に依存する ビデオカード側がモニタに送るタイミングを主導しているんだと思ってましたけど、そこが間違っていたようです。
- 575 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 00:14:49 ID:kAGY284T]
- >>568
>だから、画面更新に合わせずに好き勝手にflipしたら、 >ある1枚が長く見えてるかもしれないしある1枚が欠損しているかもしれない。 >だからちらつくように見えると思うんだけど、 ちらつくっていうよりも、それはがたつくというか、コマ落ちとかそういう心配でしょ? ティアリングってのは君が言ってるように上と下の画像にズレが生じる現象だから、 横に対して線が入って(実際にはドット単位でずれてる)波打ってるようにみえる。 コマ落ちだったらこうは見えないはずでしょ? 実際にプログラム動かしてみてみれば一目瞭然だと思うんだが……。
- 576 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 00:17:48 ID:VZ3co5HH]
- >>552
14歳のやつ 計算式思い切り間違えているぞ。 実際にリフレッシュレートの違うモニタで確かめたから間違いない。
- 577 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 00:28:31 ID:XZV3fJ2J]
- あれ分母と分子逆になってるのかなあ
- 578 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 09:11:17 ID:4PYRYd3U]
- >>576
何がどう違うのか具体的に例をつけて書け 改良案も書け
- 579 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 14:34:23 ID:N6BYq6eh]
- >>578
ママにでも頼め。
- 580 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 15:54:58 ID:VZ3co5HH]
- >>578
自分で考える癖をつけよう。 適当な数字を入れて検証してみ。 明らかにおかしいのがわかるから。 どうおかしいのかわかれば治し方は自明だと思う。
- 581 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 17:39:07 ID:oZ+8nNkj]
- >>575
学生さんなのかな? デジタル写真に法的な証拠能力は無いわけだが
- 582 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 17:40:41 ID:pV5yAQzs]
- なんの話だw
- 583 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 18:16:54 ID:VZ3co5HH]
- どこの誤爆だw
- 584 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 20:45:11 ID:C5JJD30U]
- これが若さか。
- 585 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 20:51:20 ID:CIAC500Z]
- いいや幼さだ
- 586 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 20:51:55 ID:kame7wv0]
- 中年オヤジは黙っとけよクズ
いい年こいて2chやってんじゃねえよカス
- 587 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 21:05:11 ID:CIAC500Z]
- こんなヤツもDXライブラリ使ってるのか……
- 588 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 21:10:13 ID:kame7wv0]
- 悪いの?使うのに制限あるなら教えてくれませんかね?
- 589 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 21:11:51 ID:CIAC500Z]
- 初心者向けライブラリのスレなんだし、カリカリしないでまったり行こうぜ?
- 590 名前:名前は開発中のものです。 [2009/06/22(月) 21:32:05 ID:6Vl6l2Pm]
- クソスレ晒しアゲ
- 591 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 21:58:40 ID:kame7wv0]
- まったく・・
オッサンにもなってゲームでも作ってんスかね?w
- 592 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 22:52:27 ID:wZqXAX7r]
- 世界のゲームプログラマーの殆どがオッサンですよ
- 593 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 23:27:33 ID:PR8N99oV]
- そもそもおっさんって何歳以上?
- 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でストリーム再生し、ループ位置を設定したいのです。
|

|