1
if keyboard_check('D')
{
    x = x + 4
    sprite_index = spr_playerRight
}

ゲームを開始するとすぐに、プレーヤーのスプライトが右に移動し始めます。しかし、ご覧のとおり、それは起こってはいけません...そうですか?

私が実際にDを押すと、小さなチャンクの(Else)部分が実行されます。

なぜこれが起こっているのか考えていますか?私はこれに少し慣れていません。

編集:私は少しいじっていて、コード(他のIFから)を交換しました。最初は移動しませんでしたが、任意のキーを押すと移動しました。

別の編集:Dキーが適用されていないときはいつでもElseが適用されるという事実は、(これが正しく機能した場合)他の方向に移動しようとすると侵入することに気づきました(いずれかのボタンを押すと移動が停止します)

別の編集:keyboard_checkをkeyboard_check(vk_right)に変更しましたが、完全に正常に機能します。これは、キーをどのように宣言したかという単純な問題だと思います...キーを正しく宣言するにはどうすればよいですか?

4

1 に答える 1

6

ドキュメントによると、次のようになります。

if keyboard_check(ord('D'))
于 2012-07-25T07:01:29.410 に答える