基本的に私はプレス時に画面のxboxコントローラからゲームパッドのボタンプレスを表示する必要があります。XNA - IFを使用して、同時に2つのゲームパッドのプレスを検出しようとしています
ゲームパッドのプレスとすべての座標を表す画像があります。しかし、ボタンが押されたときにボタンを表示させることができます。表示するdPadの対角線のプレスを持っていなければなりません。対応するボタンがなければ、 "NOT"を押す必要があります。私はまた、トリガーがゆっくりと最大値にプッシュされるので、トリガーを透明にフェードインさせる必要があります。このような
:Image of how the program should look when keys are pressed
私は右一緒に押したとき... 3枚のすべての画像が(代わりにちょうど右/アップ対角線画像の)画面上に点灯するという問題があります。
私の描画メソッド内のステートメントは、それらが押されたときに、特定の画像を描画するために、それらに異なる色でそれぞれを着色する場合、私は基本的にこのように、着手している:
spriteBatch.Begin();
spriteBatch.Draw(under, underPos, Color.White);
if (GamePad.GetState(PlayerIndex.One).Triggers.Right == 1.0f)
{
spriteBatch.Draw(rightTrigger, rTriggerPos, Color.White);
}
if (GamePad.GetState(PlayerIndex.One).Triggers.Left == 1.0f)
{
spriteBatch.Draw(leftTrigger, lTriggerPos, Color.White);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
{
spriteBatch.Draw(right, rightPos, Color.Red);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
{
spriteBatch.Draw(left, leftPos, Color.Blue);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Up == ButtonState.Pressed)
{
spriteBatch.Draw(up, upPos, Color.Yellow);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Down == ButtonState.Pressed)
{
spriteBatch.Draw(down, downPos, Color.Green);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
if (GamePad.GetState(PlayerIndex.One).DPad.Up == ButtonState.Pressed)
{
spriteBatch.Draw(upRight, upRightPos, Color.Orange);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Down == ButtonState.Pressed)
if (GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
{
spriteBatch.Draw(downRight, dRightPos, Color.Brown);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Up == ButtonState.Pressed)
if (GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
{
spriteBatch.Draw(upLeft, upLeftPos, Color.Cyan);
}
if (GamePad.GetState(PlayerIndex.One).DPad.Down == ButtonState.Pressed)
if (GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
{
spriteBatch.Draw(downLeft, dLeftPos, Color.Purple);
}
spriteBatch.End();
私の問題は、私ドン」です2つのIFステートメントを結合して1つの斜めの画像を表示する方法を知っていますが、2つのIFステートメントまたはゲームのプレスを組み合わせることはできますか...そして、どのようにトリガーを色と透明度が徐々に上昇するのですか?誰もがこれで私を助けることができますか?
'if(rightIsPressed && leftIsPressed) 'を考慮してください。トリガーについては、[Color.Lerp](https://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.color.lerp(v = xnagamestudio.31).aspx)を参照してください。 – itsme86
Color.Lerpはとても役に立ちました、ありがとうございました – ESuth
問題ありません。がんばろう! – itsme86