Як анімувати зображення, як користуватися dxinput

У компа є дві функції: в нього можна грати, також в нього можна не грати!

Що ж, продовжуємо! На цьому уроці ви дізнаєтеся багато нового - як анімувати зображення, як користуватися DXInput, скільки способів перевіряти зіткнення і де які краще вживати, як повертати картинки на різні кути. Перейдемо від слів до справи. Перша тема - як анімувати зображення. Візьмемо приклад з 3-го уроку і анімуємо саму літаючу тарілку. Раніше спрайт був такий -

Ми зробимо його таким:

Тепер завантажуємо спрайт в ImageList, і встановлюємо такі властивості:

Раніше ми не чіпали PattternWidth і PatternHeight, а тепер встановили їх в 60 і 25 відповідно. Але ж розміри малюнка 180х25! Справа в тому, що ці властивості вказують, яку частину картинки виводити на екран. Будьте дуже уважні, справа в тому, що якщо ці властивості не кратні повним розмірами картинки, DelphiX взагалі нічого не виведе. Якщо ви запустите гру тепер, нічого не зміниться, анімації не з'явиться, хоча властивості ми і вказали. Повинен з'явитися статичний спрайт першого кадру. Просто ми ще не написали програмну частину анімації. Відкриваємо Ttarelka.Create. і дописуємо в кінець ось такий шматок коду:

Розбираємо: AnimLooped - змінна, що відповідає за повторення анімації. AnimCount - не знаю, просто треба вивчити, без цього анімація не піде, AnimSpeed ​​- швидкість прокрутки кадрів, чим більше перше число, тим швидше. Запускаємо і бачимо миготливу тарілку!

Що у нас було далі - робота з DXInput. Працювати з цим компонентом виявилося зовсім нескладно. Для початку стираємо такі події, як Form1.OnKeyDown і Form1.OnKeyUp, ставимо на форму DXInput, після подвійного клацання по ньому виводиться таке вікно:

Вибираємо розділ Keyboard і бачимо:

Все просто - в прокручується списку - події, а праворуч - клавіші, при натисканні на які ці самі події відбуваються. Вибираємо для Up, Down, Left і Right в Key 1 відповідно ті ж самі пункти. Тепер переходимо в Ttarelka.DoMove і стираємо там все, крім перших 2-х рядків. Потім вставляємо такий код: