DXライブラリ、C++について質問です
よく、STGにありがちなShiftが押されたら移動速度を下げるというのをやりたいのですが
そこでhttps://ideone.com/qCFyhj
こういうのを書きました
僕の意識としては、ただの十字だったら各それぞれ+4でもしもSキーが押されたらそこに-2をして
ようはSキーが押されたら座標を+4ではなく+2、2分の1にしたいということです
いちおう、ただの入力だったらしっかり等速でうごいてくれます
ですがSキーを押してもスピードが全く変わりません
ご教授お願いします
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
DXライブラリが複数キーの押下を正常に認識できるのか、とか
キーボードがその組み合わせの複数キーの入力がかのうなのか、とかはクリアしているものとします。
> if (CheckHitKey(KEY_INPUT_LEFT) == 1) x -= 4;
> if (CheckHitKey(KEY_INPUT_S) == 1) x += 2;
> if (CheckHitKey(KEY_INPUT_RIGHT) == 1) x += 4;
> if (CheckHitKey(KEY_INPUT_S) == 1) x -= 2;
> if (CheckHitKey(KEY_INPUT_UP) == 1) y -= 4;
> if (CheckHitKey(KEY_INPUT_S) == 1) y += 2;
> if (CheckHitKey(KEY_INPUT_DOWN) == 1) y += 4;
> if (CheckHitKey(KEY_INPUT_S) == 1) y -= 2;
無駄なブロックはカットしました。
Sキー押下が検出されると…
xに2を加算してxから2を減算して、yに2を加算してyから2を減算します。
結果として無事増減なしになります。
ブロックで囲っていようが、インデントしていようが、
> if (CheckHitKey(KEY_INPUT_LEFT) == 1) x -= 4;
の条件式の結果は「x -= 4;」で完結しています。
if (CheckHitKey(KEY_INPUT_LEFT) == 1)
{
x -= 4;
if (CheckHitKey(KEY_INPUT_S) == 1) x += 2;
}
としたかったのではありませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 エクスプローラで希望の場所が表示できない 2 2023/06/29 15:19
- マウス・キーボード テンキーの設定がおかしくなっています。 5 2023/08/09 15:35
- マウス・キーボード scroll Lockキーを解除したけれど。 1 2022/09/16 09:23
- 物理学 台と小物体合わせた全体の水平方向の運動方程式 とは? 8 2022/09/02 06:33
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- Mac OS mac os xの設定の(起動ディスク)にブート用dvdが表示されません 1 2022/05/28 13:29
- マウス・キーボード キーボードのCaps Lockキーと変換キーの挙動がおかしくなりました。 4 2022/09/04 22:44
- Mac OS MacBook Airに外付けテンキー(有線)を接続しましたが、認識してくれません。 MacBook 2 2022/10/08 19:10
- マウス・キーボード キーボード Oキーを押すとプルダウンメニューが出る 4 2022/09/08 14:48
- Word(ワード) IMEパッドがショートカットキーで開かないのですが。。。 5 2023/06/11 09:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールアドレスの下線の入力方法
-
縦書き文章で『―』表示を『|』...
-
Word2007でTabキーを押すと改ペ...
-
手術 という漢字。この漢字を、...
-
¥マークのキーにある横棒の出...
-
ミドルバー(真ん中棒)
-
C言語 1文字入力(Enterキーなし)
-
|(縦棒)を、キーボードから...
-
半角英数大文字の入力方法について
-
ワードの表中での「箇条書き」...
-
実働時間を電卓で簡単に計算す...
-
Backspaceで文字が全部消える…。
-
英数字を打ち込む時、シフトキ...
-
eの上のカンマの出し方
-
リターンキー → エンターキー?
-
エクセル2000での Lotus 1-2-3 ...
-
ローマ字入力できない(キーボ...
-
プロダクトキーの入手方法
-
AutoHotkeyで割り当てた操作が...
-
文字を打つと変な事になる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
縦書き文章で『―』表示を『|』...
-
メールアドレスの下線の入力方法
-
手術 という漢字。この漢字を、...
-
Word2007でTabキーを押すと改ペ...
-
¥マークのキーにある横棒の出...
-
ワードの表中での「箇条書き」...
-
急に大文字と小文字が逆に入力...
-
ミドルバー(真ん中棒)
-
eの上のカンマの出し方
-
|(縦棒)を、キーボードから...
-
半角英数大文字の入力方法について
-
C言語 1文字入力(Enterキーなし)
-
エクセルVBA セルの入力後「De...
-
実働時間を電卓で簡単に計算す...
-
VBAのユーザーフォーム、チェッ...
-
Backspaceで文字が全部消える…。
-
リターンキー → エンターキー?
-
Becky!で入力時の改行がおかし...
-
Ctrlキーを押したままだとSpace...
-
英数字を打ち込む時、シフトキ...
おすすめ情報