2

私は 2D ゲームに取り組んでおり、プレーヤーを矢印キーで移動できるようにしたいと考えています。

左スティックでプレイヤーを動かせました(Xbox 360コントローラー)

GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);
hero.position.X += gamePadState.ThumbSticks.Left.X * 20;

しかし、矢印キーで移動する方法がわかりません。

誰でも私を助けることができますか?:)

4

1 に答える 1

1

キーボードを処理するには、 KeyboardStateを返すKeyboard.GetState ()を使用できます。キーボードの状態がわかったら、 KeyboardState.IsKeyDown()を呼び出して、目的のキーが押されたかどうかを確認できます。キーが押された場合は、それに応じてx座標とy座標を調整します。

サムスティックはアナログ入力であるため、スティックを左、右、上、または下に移動したことを示す値の範囲を取得できます。これにより、プレーヤーは「速度」をある程度制御できます。キーボードはデジタルなので、押されているか押されていないかで、キャラクターが動いているかどうかはわかりません。これをキーボードで同じように感じさせるためのトリックがありますが、最初にキャラクターを動かしてから、必要に応じてそれを掘り下げることができます。

また、XNAに付属のプラットフォームスターターキットも確認​​する必要があります。このコードは、入力デバイスの処理方法に関するいくつかのアイデアを提供するはずです。

于 2011-09-18T10:25:04.000 に答える