EasyFAQ/84

Last-modified: 2009-08-19 (水) 16:41:20

同じキーを入力した回数によって命令を分ける方法

投稿者こたね
重要度
状態
カテゴリ
HSPバージョン3.1
E3Dバージョン5.0.5.5
回答

ここから下を自由に編集してください。
上の投稿情報は安易に編集するとFAQリストのリストアップに支障が出るものもあります。
よく分からない方は分かる人に聞いてみてください。

  • 矢印キーが1回しか入力されていなければ歩行。同方向へ2回入力されていれば走る。といった動作を行いたいのですが、どのようにif文を書いたらよいのかわからずに困っています。どなたか教えてください。 -- こたね? 2009-08-13 (木) 21:56:48
  • サンプル等から、if keybuf( VK_UP ) != 0 : E3DPosForward hsid1 100.0 : eventno=1 で歩くことはできてるのですが、同じキーが2回入力されたかどうかの部分をどのようにして書けばいいのかがわかりません。 -- こたね? 2009-08-13 (木) 22:02:41
  • Easy3Dにカケラも関係ない初歩的な質問でありここで回答するのも憚られるが、他所で質問してもアレだしどうせpppは長文書くだろうしということでヒントだけ。一回目にボタンが押された時点で時間をひとつ記録する。もう一回ボタンが押された際に、以前いつボタンが押されたのかを保存した時間から調べ、指定した時間以内ならよしなに。 -- ナナ? 2009-08-13 (木) 22:11:25
  • こんばんは。よく出てくる種類の問題で、やり方もいろいろあると思いますが、if keybuf( VK_UP ) != 0が押された時点でカウンターを設定するのが一般的でしょうね。walkcntなどの変数を用意してwalkcnt=10にします。以後ループ毎にwalkcntを-1して、0より大きい場合はキーを連打したものとして走るんですね。 -- 2009-08-19 (水) 04:06:03
  • ↑おかしくない?? キーをすぐに離しても9フレは勝手に走るのでは・・・?PPP? -- 2009-08-19 (水) 14:11:03
  • ↑これはニセモノですが、こう言うのはすぐ消えると思いますので無視して下さいね。オープンな場所では時々こう言う事があるようですが、お気を悪くなさらないで下さいませませ。 -- 2009-08-19 (水) 16:40:44