XNA pojedyńcze przyciśnięcie klawisza do wykonania sekwencji sprite.

0

Witam. Chciałbym- jak w temacie, sprawić żeby pojedyńcze przyciśnięcie klawisza wykonywało sekwencje sprite. Na chwile obecną mam dwa niezadawalające rozwiązania- sekwencja sprite wykonuje się TYLKO w momencie trzymania klawisza (isKeyDown), albo przy kodzie:

 
  if (NewKeyState.IsKeyDown(Keys.G) && OldKeyState.IsKeyUp(Keys.G)) 
            {

              //  BroPunch();
                keyB = true;

            }


            OldKeyState = NewKeyState;

... wykonuje całą sekwencję w jednej klatce updatu.
Dzięki za pomoc

0

A jak ma się wykonać, niecała? Nie rozumiem dokładnie jaki masz cel.

0

Jeżeli napiszę tak jak większość osób to czyni w XNA , tzn.

    if (kState.IsKeyDown(Keys.F)) { BroPunch(); }
 

a BroPunch wyglądać będzie w ten sposób:

 
  private void BroPunch()
        {
           
            
            {
                ChangingTexture = Punch;
                counter++;
                if (counter > 2) { counter = 0; BroPunchRect.X += 200; }
                if (BroPunchRect.X > 3999 && BroPunchRect.Y == 0) { BroPunchRect.X = 0; BroPunchRect.Y = 270; }
                if (BroPunchRect.X > 500 && BroPunchRect.Y > 260) { BroPunchRect.X = 0; BroPunchRect.Y = 0; BrotherStanding(); ChangingTexture = Bro;}
            }

To sprite będzie wykonywany tak długo jak wciśnięty jest klawisz i ani chwili dłużej. Tzn sprite przedstawia cios z pięści. jeżeli puszczę klawisz w trakcie wykonywania tego ciosu, nie zostanie on dokończony. Moim celem jest żeby sekwencja sprite z BroPunch() , czyli cios- wykonywała się cała, niezależnie od długości trzymania klawisza.

1 użytkowników online, w tym zalogowanych: 0, gości: 1