c# - XNA - trying to use an IF to detect 2 gamepad presses at same time with no avail -


basically have task @ college have display button presses of gamepad xbox controller on screen when pressed.

i have images represent gamepad presses , coordinates set out. can buttons appear when pressed... however. must have diagonal presses on dpad appear, without corresponding buttons need press "not" apearing. need have triggers fade in transparency pushed maximum value.

like : image of how program should when keys pressed

i have problem when press , right together... 3 images light on screen (instead of diagonal up/right image).

i have set out if statements within drawing method draw specific images when pressed , colour them each different colour, this:

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(); 

my problem don't know how combine 2 if statements show 1 diagonal image, can combine 2 if statements or game presses @ sametime?... , how triggers increase in colour , transparency... can me this?

you can have multiple conditions passed in if statement using && , and || or.

i use else if instead of multiple if clarity in instance. sample snippet code exercising this:

else if (gamepad.getstate(playerindex.one).dpad.up == buttonstate.pressed && gamepad.getstate(playerindex.one).dpad.left == buttonstate.pressed) { spritebatch.draw(upleft, upleftpos, color.cyan); }

this make condition pass if both , left pressed @ same time.

hope puts in right direction.


Comments

Popular posts from this blog

php - isset function not working properly -

javascript - Thinglink image not visible until browser resize -

firebird - Error "invalid transaction handle (expecting explicit transaction start)" executing script from Delphi -