Poruszanie sprite'a za pomocą dxinput

Poruszanie sprite'a za pomocą dxinput


Szybko i zwięźle:

- wciskamy na naszą formatkę noxxdxsprite
- następnie umieszczamy dxdraw lub noxxdxmenu
- wstawiamy dximagelist na formatkę i dodajemy do niego jakiś tam rysunek
- wstawiamy dxspriteengine
- ustawiamy wszystkie wartości dla danych komponętów
- tworzymy nowego sprite'a (autko : TAnimation)
begin
autko := TAnimation.Create(DxSpriteEngine1.Engine); //tworzymy
autko.x := 104; //pozycja x
autko.y := 112; //pozycja y
autko.Image := dximagelist1.Items[0]; //przypisanie obrazka
end;

- umieszczamy na formie dxtimer (ustawiamy wartość activeonly na false a interval na 1)
- wstawiamy na formę dxinput
a do dxTimer ontimer wpisujemy:
begin
dxdraw1.surface.Fill(0); //zerowanie
dxinput1.Update; //sprawdzenie jaki kalwisz wciśnięty :)) //poruszanie
if (isleft in dxinput1.states) then autko.x := autko.x - 3; //w lewo
if (isright in dxinput1.states) then autko.x := autko.x + 3; //w prawo
if (isup in dxinput1.states) then autko.y := autko.y - 3; //do góry
if (isdown in dxinput1.states) then autko.y := autko.y + 3; //na dół
dxspriteengine1.Move(1); //Porusz :)
dxspriteengine1.Draw; //Rysuj do dxdraw
dxdraw1.flip;
end; - naciskamy F9 i już.

Przykład