[過去ログ] Delphiゲームプログラミング相談室 (976レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
95(2): 名前は開発中のものです。 [sage] 02/04/25 22:29 ID:??? AAS
 嫌なら使わなくても良いんじゃないの 
96(1): 95 [sage] 02/04/25 22:30 ID:??? AAS
 ハッ! 
97(1): 名無しヘタぐらま ◆B18Bks.Y  [] 02/04/25 22:45 ID:nDQik/kg(1) AAS
 Windows API の GetKeyState でどうですか? 
 “ちょこっと作ってみた限り”大丈夫だと思いますが…. 
  
 目的のキーが入力されるまで待つ部分は自分で作るダス. 
98: 90 [] 02/04/25 22:59 ID:JxszzDhA(2/2) AAS
 >93-97 
 おおっ、いろいろありがとうございます。 
 調べつつ試してみます。 
99: 名前は開発中のものです。 [] 02/04/25 23:11 ID:sTpOeU02(1/3) AAS
   
100: 名前は開発中のものです。 [] 02/04/25 23:11 ID:sTpOeU02(2/3) AAS
 100 
101(1): 素数2 [sage] 02/04/25 23:12 ID:??? AAS
 ゲームってどうやって作るんだろうな・・・ 
 stringgridで○×くらいしかつくれん。 
102: 94 [sage] 02/04/25 23:17 ID:??? AAS
 あ、メインループというのは一つのハンドラの中でぐるぐる 
 じゃなくって、タイマーイベントなりでメイン部を定期的に 
 処理してねって事です念の為。 
103: 名前は開発中のものです。 [sage] 02/04/25 23:17 ID:??? AAS
 >>101 
 2chスレ:tech 
104(1): 名前は開発中のものです。 [sage] 02/04/25 23:38 ID:??? AAS
 >>9494(3): 名前は開発中のものです。 [sage] 02/04/25 22:28 ID:??? AAS
 KeyDownイベントが発生したらGetAsyncKeyStateでリアルタイムなキー 
 押下情報をゲームで使う全てのキーの分取得&保持。 
 ダンジョンRPGだったらここが負担になる事は無いと思う。 
  
 後はメインループをグルグルさせて、シーン別に処理を書いていけば 
 いいんじゃないかと。 
 (タイトル画面、マップ移動、戦闘等、無論イエスノー待ちもシーンの一つ) 
  
 試してないのであしからず。  
KeyDownイベントは変数Keyにキーコードが入っているが・・・・ 
 HSPじゃあるまいしグローバルでキー情報取得するのはやめれ。<GetAsyncKeyState 
 アクション系等でリアルタイムの取得する必要がある時はDirectInput使え。 
105(1): 名前は開発中のものです。 [] 02/04/25 23:42 ID:sTpOeU02(3/3) AAS
 ddddインスコできない。どうすりゃいいの? 
 コンパイルエラーになる 
106: 名前は開発中のものです。 [sage] 02/04/25 23:58 ID:??? AAS
 参考になるかどうかは分からんが、屋根裏タンの読み物 
 外部リンク[html]:www.sun-inet.or.jp 
107: 名前は開発中のものです。 [sage] 02/04/26 03:41 ID:??? AAS
 >>104 
 GetAsyncKeyStateとDirectInputの違いって何? 
108: 104じゃないが [sage] 02/04/26 06:33 ID:??? AAS
 DirectX, COM, 初期化, 確認が必要鴨 
109(1): 名前は開発中のものです。 [sage] 02/04/26 21:04 ID:??? AAS
 いや、そうじゃなくて、 
 GetAsyncKeyStateじゃなくてDirectInputを使うことによってどんな利点があるのかってこと。 
 GetAsyncKeyStateでキー状態取っちゃダメなの? 
110: 名前は開発中のものです。 [sage] 02/04/26 21:41 ID:??? AAS
 >>109 
 フォアグラウンドのアプリがキーボードを占有して 
 バックグラウンドのアプリへのキー入力のデータが抑制される。 
 (他のアプリにフォーカスが切り替われば自動的に通常状態に復帰) 
111: 名前は開発中のものです。 [sage] 02/04/26 21:57 ID:??? AAS
 GetAsyncKeyStateだと、ゲームがバックグラウンドの時も 
 キー状態を取っちゃうってこと? 
112: 名前は開発中のものです。 [sage] 02/04/29 09:58 ID:??? AAS
 >>105 
 まずは環境とエラーメッセージを書きましょう。 
 とりあえず俺っちはDelphi6&Win2000で出来たが。 
113: 名前は開発中のものです。 [] 02/04/29 09:59 ID:x6016wxY(1/2) AAS
 ていうか、クソスレが上がってるのが気に入らない! 
 下げ進行はよくないぜ 
114(4): 名前は開発中のものです。 [] 02/04/29 20:03 ID:RsIpxpAM(1) AAS
 便乗質問age 
 強制イベント(NPCが動く、など)の最中にキーボードを押すと 
 イベント終了時にさっき押した分だけキャラが動いてしまいます 
 FormKeyDownで処理しているんですが、この入力待機分のKeyを 
 クリア(?)するにはどうしたらいいんでしょうか? 
 DirectInputはごめんなさい 
115(1): 名前は開発中のものです。 [sage] 02/04/29 20:51 ID:??? AAS
 >>114 
 強制イベント終了後、バッファが空になるまで読む。 
116(1): 名前は開発中のものです。 [] 02/04/29 20:57 ID:x6016wxY(2/2) AAS
 >>114 
 どういう組み方をしているのか教えてくれ。 
 バッファのクリアよりも、根本的に 
 バッファにたまった分をイベント後に処理しないような組み方にした方が良いと思われ。 
 むしろ、動くようにする方が難しいと思うのだが。 
117: 114 [] 02/04/30 10:00 ID:Y2Rh.VqQ(1) AAS
 >>115 
 ごめんなさい。ど素人なんでそのやり方がわかりません。 
  
 >>116 
 まずグローバル変数「State:Integer」を定義します。 
 それでFormKeyDown手続きの中で 
 case State ofでState別に処理します 
 (ここでは0を通常状態,1を強制イベントと仮定)。 
 自キャラが自由に動くState=0の時に適当な行動を取ると 
 TTimerがオン、State:=1になります。 
 この時(State=1)のキーダウン手続きのcase文の中身はなにもありません。 
 そしてTTimerを使ってNPCを動かし終わると 
 TTimer文の最後でState:=0に戻すという組み方です。 
 このTTimerが作動している時(State=1)にキーをいろいろ押すと 
 State=0に戻った瞬間に自キャラが一気に動いたりして困ってます。 
 State=1の状態ではキーの入力による処理は何もないはずなんですが(?)。 
 分かりにくい文章ですが助言お願いします。 
118(1): 名前は開発中のものです。 [sage] 02/04/30 10:11 ID:??? AAS
 115が理解できないと思った俺の予想が的中した。 
  
 なんだか面倒なことをやっているようだが、 
 FormKeyDownでは押されたキーのフラグを立てるだけにして、 
 メインルーチン(例えば始終動いているTimer)で、 
 フラグが立っていたら○○するというようにした方がいいよ。 
  
 まあ、そこまでくるとFormKeyDownなど使う必要はなく、 
 メインルーチン側でGetAsyncKeyStateやDirectInput等で 
 逐一キーの状態を見るのがよいのだが。 
119: 名前は開発中のものです。 [sage] 02/04/30 10:12 ID:??? AAS
 正直Windowsのイベントドリブンをそのままゲームのシステムとして使うと 
 余計ややこしくなる。 
上下前次1-新書関写板覧索設栞歴
あと 857 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s