[過去ログ]
ゲームプログラミング相談室【Part5】 (970レス)
ゲームプログラミング相談室【Part5】 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
730: 名前は開発中のものです。 [sage] 03/12/23 21:43 ID:RhgrM0ZE 当たってたら直前の座標に戻すとか http://echo.5ch.net/test/read.cgi/gamedev/1036410116/730
731: 729 [] 03/12/23 22:02 ID:5t0z2s2o でも、それだと移動速度が速いときに壁と自キャラとの間に空間が出てしまうので もっといい方法ありませんか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/731
732: 729 [] 03/12/23 22:02 ID:5t0z2s2o あ、>>731は>>730へのレスです。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/732
733: 名前は開発中のものです。 [] 03/12/23 22:16 ID:E3QeV1IX >>731 当たったんだから当たったときの場所に戻せはいいじゃん。 まあ、結構難しいけど。 まずは平面と直線の交点から地道にやってくしかないんじゃないのー。 俺もいい方法キボン。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/733
734: 名前は開発中のものです。 [sage] 03/12/23 22:17 ID:zvmW175r >>729=731 1.一回の計算での移動距離に上限を付ける。 それ以上の距離を一フレームで移動する場合、 途中の点でも衝突判定をする。 2.移動ベクトルと物体との交点を探す。 >壁と自キャラとの間に空間が出てしまうので というのを綺麗に処理するのなら、2.のベクトル方式かな。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/734
735: 734 [sage] 03/12/23 22:19 ID:zvmW175r ゲームは作ったことないのだけど、 シミュレーションで衝突判定をしたことがある。 その時は三次元だったし、素直にベクトルで計算した。 ついでにいうと、 ベクトルを使う場合にも移動距離に上限がある方がいいらしい。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/735
736: 729 [] 03/12/23 22:25 ID:5t0z2s2o >>734 スマソ、ベクトルとか、よく分からない。 教科書を読んでみたが、向きと長さを表すための数? やっぱり、ゲームプログラミングでは、この辺の知識って重要なのでしょうか。 で、どういうプログラムを書いたらいいのですか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/736
737: 名前は開発中のものです。 [sage] 03/12/23 22:37 ID:cUrB4sUv 壁ぴったりの位置に補正さればいいんじゃないの? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/737
738: 729 [] 03/12/23 22:45 ID:5t0z2s2o >>737 それも考えてみたんですけど、うまくいきませんでした。 もしかして、こういう壁との当たり判定って王道はないの? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/738
739: 名前は開発中のものです。 [sage] 03/12/23 22:53 ID:sS23uhhi >それも考えてみたんですけど、うまくいきませんでした。 何がどううまくいかなかったのか書かずに、他人に理解してもらえると思っているのか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/739
740: 名前は開発中のものです。 [] 03/12/23 23:57 ID:yXOe9rbq 素直に>>734の1.の方法でいいじゃん。 無駄な計算が発生するけど、一番単純。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/740
741: 名前は開発中のものです。 [sage] 03/12/24 00:53 ID:j0JfsxS8 妥協をしないんなら、 1.各オブジェクトが現在の速度で衝突なしで移動できる時間のうち、最も短い時間を算出 2.その時間分だけすべてのオブジェクトを移動 3.そのタイミングでの衝突に対するリアクション これを、1フレーム分時間が進むまで繰り返す。 最近のマシンなら、これくらいまじめにやっても意外とゲームに支障が無いかもしれない。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/741
742: 名前は開発中のものです。 [sage] 03/12/24 01:13 ID:43TGeIPz 移動ベクトルとの交点を求めればいいだけなのに、 なんでわざわざ判定を細かくする必要があるの? >妥協をしないんなら、 すさまじいほど妥協の固まり。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/742
743: 名前は開発中のものです。 [] 03/12/24 01:29 ID:LQ2+WnwS まじめに物理シミュをしたい場合なんかは必要だね。 単純な例だとビリヤードとか。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/743
744: 名前は開発中のものです。 [sage] 03/12/24 09:27 ID:4RuabZKq 速度が速いものの当り判定でいかに突き抜けないか?ってのは俺も悩んだ時があったよ。 結局、速度を10分の1にして、1サイクルで10回計算する方法で乗り切った。 そうすれば、直前に戻す場合、カベとの隙間は今までの10分の1になる。 ただ、計算量が多い場合はダメだが。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/744
745: 744 [sage] 03/12/24 09:33 ID:4RuabZKq すまん、訂正。そういえば22回ぐらいにしたんだった。 計算回数でスピード調整できるから後で変更したんだった。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/745
746: 729 [] 03/12/24 10:19 ID:URj7Zjll >>742 俺ベクトルとか良く分からないんですけど 具体的に、どういうプログラムを書いたらいいんですか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/746
747: 名前は開発中のものです。 [sage] 03/12/24 10:52 ID:43TGeIPz 判定に使うベクトルは移動量でクリッピングされた一本の線。 それを使って障害物との交点を出すだけ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/747
748: 名前は開発中のものです。 [sage] 03/12/24 10:52 ID:MQdqvAgE >>746 ぐぐれ。 もしくはジェムズ買え。ゲームのための数学本もたくさん出てるぞ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/748
749: 名前は開発中のものです。 [sage] 03/12/24 11:01 ID:43TGeIPz 中学で習う連立方程式で解けるから、数学本をみるほどでもないよ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/749
750: 名前は開発中のものです。 [sage] 03/12/24 11:33 ID:AfYGS6+9 分からんなら書けるわけねぇだろ アホ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/750
751: 名前は開発中のものです。 [sage] 03/12/24 11:35 ID:22uuXHWk 判定を細かくしてるやつらに聞きたい レーザーとかマシンガンとかそういうものの判定はどうしてるんだ? もしかして1ドット単位で計算するのか? あふぉらし。 中学生のときに二本の線の交点を求めただろ? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/751
752: 名前は開発中のものです。 [sage] 03/12/24 13:13 ID:fy5Ig0wI 続きは「線分どうしの交点を求める」スレでどうぞ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/752
753: 729 [] 03/12/24 15:07 ID:URj7Zjll いろいろ調べてみたが、全然分からん。 たのむ、プログラムを晒してくれ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/753
754: 名前は開発中のものです。 [sage] 03/12/24 15:23 ID:YiiTAHQu いやだ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/754
755: 名前は開発中のものです。 [sage] 03/12/24 15:37 ID:wvuHL31/ 当たっているかどうかの判定はできてるんでしょ? 原始的というかへぼい方法でいいなら、当たらなくなるまで逆方向にちょっとづつ戻す、ってのでどうさ。 というか、質問が変わっていて、線分の交差判定とかやりたいなら「線分交差」などの 単語でググル先生で調べるとか。単語を変えてみるとか。 もう少し、根気よく調べてはどうか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/755
756: 名前は開発中のものです。 [sage] 03/12/24 15:49 ID:43TGeIPz ベクトルの説明もしたし、交点は連立方程式で解けるともいった。 分からないところなど残っていないはずなのだが、結局何が分からないの? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/756
757: 729 [] 03/12/24 15:53 ID:URj7Zjll >>755 線分の交差判定のプログラムは見つけることが出来たが理解できなかった。 あきらめます。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/757
758: 名前は開発中のものです。 [sage] 03/12/24 16:16 ID:j0JfsxS8 >>742 レスが遅くなりましたが。 > 移動ベクトルとの交点を求めればいいだけなのに、 > なんでわざわざ判定を細かくする必要があるの? 衝突によるリアクションで移動ベクトルが変化し、 元の移動ベクトルでは発生しなかった衝突が発生したり、 元の移動ベクトルでは発生していたはずの衝突が発生しなかったりするからです。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/758
759: 名前は開発中のものです。 [sage] 03/12/24 16:39 ID:AfYGS6+9 ベクトルが分からない 二次連立方程式も解けない そんなあなたに ハードコーディング http://echo.5ch.net/test/read.cgi/gamedev/1036410116/759
760: 名前は開発中のものです。 [sage] 03/12/24 16:52 ID:TlaAffnt 背伸びせずに自分の知識で実現できる物を作れ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/760
761: 729 [] 03/12/24 16:58 ID:URj7Zjll 本当に、ベクトルが分からないとアクションゲーム作れないのですか? マリオとか、普通のアクションゲームはおづいう処理やっているのですか。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/761
762: 名前は開発中のものです。 [sage] 03/12/24 17:18 ID:wvuHL31/ >>729 もう少し前提条件を書きなよ。 マリオタイプなら背景の判定がセル単位になるからセルの位置にまで戻す。 不定形なら、 >当たらなくなるまで逆方向にちょっとづつ戻す これでできないかい? ベクトルは知らなくても、概念はいつの間にか使っているはず。 小難しく考えない方がいいかも。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/762
763: 名前は開発中のものです。 [] 03/12/24 17:19 ID:JEYstVzG >>761 別に無理じゃないかもしんないけど。 ベクトルだってわざわざ難しくするためにあるんじゃなくて ベクトルとして表すと楽だから存在するわけだからベクトルを使わないで やるっていったらそれだけの手間がいるよ。 2Dにしても3Dにしてもマリオは結構難しいかもよ。 (色々とフリーでマリオをパクッたようなゲームが落ちてるけどそのどれもが動きを表現しきれてないじゃん。) 紙に図を書きながらならベクトルと意識させずに教えることはできるだろうけど、 掲示板だとベクトルがわからないとちょっとしたことを教えるのに非常に手間がかかる。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/763
764: 名前は開発中のものです。 [sage] 03/12/24 17:22 ID:AfYGS6+9 知るかアホ テメーはテメーの靴でも磨いてろ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/764
765: 名前は開発中のものです。 [ひおjぉいgjsx] 03/12/24 17:23 ID:kLqAWE7R RPGの会話は1個1個関数にしておくのがベストなのかね いちいちメインで書くとややこしくなるし アドバイスお願いしますよ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/765
766: 名前は開発中のものです。 [] 03/12/24 17:38 ID:JEYstVzG >>765 スクリプトエンジンみたいなもの作れば楽にできるんじゃないですかね? http://white.sakura.ne.jp/~piro/javascript/engine/manual/manual.html http://www.epics.jp/ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/766
767: 名前は開発中のものです。 [sage] 03/12/24 17:45 ID:43TGeIPz メッセージはファイルなりリソースなりから読み出すようにする。 ごく小規模なプログラムでないのなら、プログラム中に直接記述すべきではない。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/767
768: 脳内開発0.1% [sage] 03/12/24 17:48 ID:TlaAffnt >>765 プログラミング言語を理解していてもシステムが組めるワケではない 正直ゲームを作るとか以前のレベルと思われ デザパタ本でも買えばどうよ? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/768
769: 名前は開発中のものです。 [sage] 03/12/24 18:19 ID:viWWNVza >>761 ベクトルを知らなくても作れるよ。 昔のベーマガの投稿で小学生や中学生はいたしね。 とりえあずベクトルを使わずに工夫してやってみれば? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/769
770: RPG開発中 [sage] 03/12/24 20:43 ID:RGjm/FAD >>765 私はイベント処理用にバイトコードベースの仮想マシン作って 会話もその中で処理しているよ。たとえば、1番のメッセージ を表示、というイベントを作るなら 0x40 01 (0x40は後続1バイトをメッセージ番号とみなすメッセージ表示コード) というバイト列をイベントコードとして持たせておく。 イベントの情報はこんな感じで持たせる。 typedef struct { /* イベント情報構造体 */ int iChrNo; /* 表示キャラクタ */ int iType; /* 進入タイプ */ /* コード配列 */ BYTE abyCode[64]; } EVENTDATA; あとはこのイベント情報をマップの大きさに対応した配列に 入れておいて、移動処理のたびに移動先にイベントがあるか 調べ、あればイベントを処理する、という流れ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/770
771: 名前は開発中のものです。 [sage] 03/12/24 23:37 ID:AfYGS6+9 >>770 会話の内容の部分はどこにある? また別に コードと対応する配列を用意してるとか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/771
772: RPG開発中 [sage] 03/12/25 19:57 ID:NmX/fLFn >>771 会話などの文字列データは、文字列テーブル(65536バイトのバッファ を256分割して割り当て)に配置。イベントでは他にグラフィックも 出そうかと思っているけど、これはどうしたものか・・・。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/772
773: 名前は開発中のものです。 [sage] 03/12/26 02:29 ID:rER+QHNY >>772 すまん、まったく理解不能 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/773
774: 名前は開発中のものです。 [sage] 03/12/26 03:17 ID:4yV1zVt6 >>772 256byte(半角255文字)のストックが256個あるってこと? 俺もよー分からん。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/774
775: RPG開発中 [sage] 03/12/26 07:04 ID:xfqL31qs いや、だから65536バイトのバッファを取っておいてそれを 256分割してポインタに分配しているということ /* 文字列テーブル用バッファ確保 */ g_lpStringTable = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 256 * 256); /* 文字列テーブル用バッファを分配 */ for (i = 0;i < 256;i++) { g_alpszString[i] = g_lpStringTable + i * 256; } こんな感じで。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/775
776: 名前は開発中のものです。 [sage] 03/12/26 07:40 ID:/X8b3kq4 >>775 文字通りバッファ(シーン毎にファイルから読み込んでスプールしておく?) なのは置いておいて、>>770が聞いてるのは実データの格納場所じゃなかろうか。 かなり好意的な解釈だが。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/776
777: RPG開発中 [sage] 03/12/26 08:09 ID:xfqL31qs >>776 今は実データの場所は、各種グラフィックやマップ・文字列、 イベント、敵などの各種データなどを収めたシナリオファイル 内だね。最初にこのシナリオファイルを読み込んで、その中の 文字列をバッファに格納しておく。 まあ、文字列はプログラムの実行中にバッファにあればよい から、別にコードで設定しようが、ネットから読み込もうが どこにあっても良いんだけど。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/777
778: 名前は開発中のものです。 [] 03/12/26 11:30 ID:FaDIMQyf 質問 (。・_・。)ノ DirectPlayの利点が良くわからん。Socketで独自AP層実装するのに比べて何が良いの? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/778
779: 名前は開発中のものです。 [sage] 03/12/26 13:09 ID:UokTH8Xi それがサクっとできる人には無用の長物かと。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/779
780: 名前は開発中のものです。 [] 03/12/26 13:39 ID:FaDIMQyf >>779 ありがd http://echo.5ch.net/test/read.cgi/gamedev/1036410116/780
781: 名前は開発中のものです。 [sage] 03/12/26 14:10 ID:rER+QHNY >>RPG開発中 で、それが >>765 に対するアドバイスなのか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/781
782: 名前は開発中のものです。 [sage] 03/12/26 18:45 ID:njogeIUI >>778 WindowsやUnixに強度に依存させないために用意されてるんじゃないの? DirectXにさえ対応していれば、BSDソケットをサポートしてない環境でも開発できるように。 もちろん、事実上そんなプラットフォームは存在しないんだけど http://echo.5ch.net/test/read.cgi/gamedev/1036410116/782
783: 名前は開発中のものです。 [sage] 03/12/27 09:57 ID:otsUTq2D ワロタ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/783
784: 名前は開発中のものです。 [sage] 03/12/27 10:07 ID:bl7gErOG XBOX... http://echo.5ch.net/test/read.cgi/gamedev/1036410116/784
785: 名前は開発中のものです。 [sage] 03/12/27 11:10 ID:xG/hPzox >>769 小学生でもベクトルと言う言葉を知らなくても概念的なものは カンのようなもので理解してたと思う そのあたりは算数、数学のセンスなのかもしれない ちょうど方程式と概念的には変わらない「○+3=5 さて○には何が入る?」 っていう問題が小学校の算数ですでに出るような、そんな感じ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/785
786: 名前は開発中のものです。 [hこpれkごpkspzkj] 03/12/27 14:04 ID:/LeFILZK みなさん聞いてください ロールプレイングで敵と味方が戦って敵か味方のHPが0になったら 終了させたいのだが これはクラスを使って処理させたほうが賢明なのだろうか? 皆さんのこういったときどんなことをするのですか? ぜひ極意を教えてくれたらなぁ と思います 駄文ですまん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/786
787: 名前は開発中のものです。 [sage] 03/12/27 14:10 ID:3jGoR22p あああああああああはやめたの? 786 名前:名前は開発中のものです。[hこpれkごpkspzkj] 投稿日:03/12/27 14:04 ID:/LeFILZK みなさん聞いてください http://echo.5ch.net/test/read.cgi/gamedev/1036410116/787
788: 名前は開発中のものです。 [] 03/12/28 17:40 ID:bDUHUyQ0 dairectinputでキーを押している間○○の処理をする・・ ってなことできるんでしょうかもしあるんだったら教えてください。 おねがいします。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/788
789: 名前は開発中のものです。 [sage] 03/12/28 19:17 ID:xJqaw/Og もう少し質問をわかりやすくお願いします。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/789
790: 名前は開発中のものです。 [sage] 03/12/28 19:53 ID:VT+x31QU >>788 メインループで キーチェック() if(キーが押されている) 処理() http://echo.5ch.net/test/read.cgi/gamedev/1036410116/790
791: 名前は開発中のものです。 [sage] 03/12/28 21:02 ID:bDUHUyQ0 >>789 >>790 すいませんわかりにくくて、 例えば キーチェック() if(キーが押されている)処理()だと キーを連打してるみたいになると思うんですが それだとなんかやりにくいので if(キーが押されてる間) 押されている間のループ処理() キーがはなれたときbreak 実際これだとできないんですが これっぽいやり方があるなら教えてほしいと言いたかったのです。 しってたらおしえてくださいー。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/791
792: 名前は開発中のものです。 [sage] 03/12/28 21:42 ID:cQ9iWriQ スレッドを作ればいくらでもできるだろ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/792
793: 名前は開発中のものです。 [sage] 03/12/28 22:12 ID:HAEX+AYe >>791 while(キーチェック() == 押されてる){ やりたい処理() } これだとそれっぽいけど、 キーをチェックする間隔がやりたい処理に依存するよ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/793
794: 名前は開発中のものです。 [sage] 03/12/29 00:31 ID:FUYmq8vt ゲームならメインループをまわしておくんだろうから 前回のキー状態を保存しておいて、押された・押されたまま・離されたを チェックするのがいいと思う。 char key押された; char key押されっぱなし; キーチェック() { if (key押された = キー状態) key押された = キー状態; http://echo.5ch.net/test/read.cgi/gamedev/1036410116/794
795: 794 [sage] 03/12/29 00:36 ID:FUYmq8vt 途中で書き込んでしまった・・・。 char key押された; char key押されっぱなし; キーチェック() { if (key押された == キー状態) { key押されっぱなし = キー状態; } else { key押されっぱなし = 0; } key押された = キー状態; return; } メインループ() { if (key押されっぱなし) { 押されっぱなし時の処理(); } eise if (key押された) { 一回押されただけ時の処理(); } } http://echo.5ch.net/test/read.cgi/gamedev/1036410116/795
796: 788 [sage] 03/12/29 00:49 ID:EhxFp05R >>794 参考になります。ありがとうございました。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/796
797: 788 [sage] 03/12/29 01:09 ID:EhxFp05R >>794 またまたすみません。 上のプログラム参考にして考えてみたのですが キーが離れたときの判定の仕方はどうすればいいのでしょうか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/797
798: 名前は開発中のものです。 [sage] 03/12/29 02:10 ID:hxW8tM+Y //宣言 BOOL PushKey[256]; //Set WM_KEYDOWN:PushKey[wParam]=TRUE;break; WM_KEYUP:PushKey[wParam]=FALSE;break; //条件 if(PushKey[VK_何たら]){ 処理; } http://echo.5ch.net/test/read.cgi/gamedev/1036410116/798
799: 名前は開発中のものです。 [sage] 03/12/29 02:11 ID:9w54kjof 一つ前の状態を覚えておいて前回が押しで今回が離しなら条件成立。 でいいんでないかい? っていうかこの状態ですでに聞きまくりだと、後で困るよ。 聞く前にまず何通りかの方法を自分で考えてみたほうがいい。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/799
800: 788 [sage] 03/12/29 02:40 ID:EhxFp05R そういうやり方があったんですか。さっそくやってみますね。 色々ご指導ありがとうございましたー。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/800
801: 名前は開発中のものです。 [sage] 03/12/29 10:35 ID:Vxcs8OWB ON ___| ̄ ̄ ̄|__ OFF てな感じで、紙に書いてどんなタイミングだと、 「押した瞬間」や「離した瞬間」と判断できるか、シミュレートしてみるといいよ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/801
802: 名前は開発中のものです。 [sage] 03/12/29 11:56 ID:7K1ivY4a 状態用意しなくても GetAsyncKeyStateでいいやん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/802
803: 名前は開発中のものです。 [sage] 03/12/29 17:02 ID:18lQqtmb >802 え?状態用意しなくても過去のキー情報か離した瞬間を検知するものがあるん? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/803
804: 名前は開発中のものです。 [sage] 03/12/29 17:12 ID:gqFMSN3K GetKeyboardStateもいいよね〜 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/804
805: 名前は開発中のものです。 [sage] 03/12/29 17:40 ID:7K1ivY4a >>803 要件は「押している間」だけだろ? その瞬間を検知する必要があるわけではない。 さらに>>791とか見てもキー押下イベントを受け取りたいわけじゃなくて 状態をポーリングしてるんだからKeyState系のAPIだけで十分。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/805
806: 名前は開発中のものです。 [sage] 03/12/29 18:31 ID:YOFpqX8j >>805 >>797 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/806
807: 名前は開発中のものです。 [sage] 03/12/29 20:18 ID:byuoOUNe 新米プログラマ「キーが押されている状態をチェックする方法は分かったんだ。 だけど、今度はキーが押されていない状態のチェックする方法がないんだ!」 新日プログラマ「キーが押されている状態の逆をやればいいんだよ」 新米プログラマ「逆?」 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/807
808: 名前は開発中のものです。 [sage] 03/12/29 20:32 ID:gqFMSN3K 押されているならば、その状態を変数に記録、 押されていないならば、変数を調べて押されていたか知ればいい こんな感じで bool key; ... if(GetKeyCheck() == true){ // GetSKeyCheck() : キーが押されているか? 押されているならtrue、押されていないならfalseを返す key = true; } else{ if(key == true){ // ここにキーが離された時に処理するコードを記述 ... key = false; } } http://echo.5ch.net/test/read.cgi/gamedev/1036410116/808
809: 名前は開発中のものです。 [sage] 03/12/29 20:56 ID:R24Z9q+x >>807 BlackBoxキタ━━━━━━(゚∀゚)━━━━━━ !!!!! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/809
810: 名前は開発中のものです。 [sage] 03/12/29 21:25 ID:LZHqhzbl キーボードは大気にふれている限り、気圧によって圧されているのだよ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/810
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 160 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s