Navigátorposledních 10 z diskuze |
Assembler 12 - Joystick a (sprit)V minulém díle jsme si všeobecně vysvětlili práci se sprity. Jak se zapíná, jak se pozicuje, priority a další věci, bez kterých to prostě nejde. Dnes si ukážeme , jak pracovat se spritem a jak ho ovládat joystickem. JoystickJoy porty máme v počítači dva, Joy port 1 a Joy port 2. ( zajímavé). Stav JOY1 čteme na adrese $DC01 a JOY2 na $DC00. (nepléct si...) Jednoduchým prográmkem v basicu si můžete otestovat porty jednotlivých joysticků. Tento prográmek bude vypisovat na obrazovku aktuální stav Joysticku v portu 2. Jakmile pohnete zJOYem na jakoukoliv stranu, vrátí se hodnota pohybu. A to nejen pohybu, ale i zmáčknutého fire nebo fire+pohybu. Tabulka pohybů joysticku je následující.
Budeme li chtít testovat zmáčknutí Fire tlačítka na Joyi ?? Jednoduché. LDA $DC00 ; načte z adresy JOY2 stav V příloze je soubor, který pracuje celý v přerušení. Nachází se od afresy $1000 a spouší se příkazem SYS 4096. Jeho pomocí můžete ovládat kurzor (šipku) po obrazovce. Program JOY stahujte ZDE . Prográmek není naprogramovaný v prerušení. Záleží jen na Vás, k čemu tento prográmek využijete. Je to napsané pro co nejjednodušší orientaci. Samozřejmě, že by program bylo možné ještě optimalizovat, ale určitě by to nevedlo k jednoduššímu pochopení. V další verzi prográmku jsem přichystal ukázku kolize SPRIT / SPRIT a SPRIT / ZNAK. Jak už jsem v minulém díle psal. Kolizí sprit / sprit lze zjistit, které dva sprity mají kolizi, ale u kolize sprit / znak nelze nikde přečíst, který znam koliduje ! JOY s kontrolou kolize stahujte ZDE . U tohoto prográmku zjistíme jednu podstatnou věc. A to, že kolize sprit sprit funguje na mikrobod (nově pixel) !! Zpomalování programuMožná si někteří bystřejší všimnou, že assembler je tak ďábelsky rychlý, že je potřeba snímání pohybu zpomalit. V IRQ ( a nejen v něm) je totiž najednou rychlých věcí opravdu hodně, tudíž se určitě dostanete do situace, kdy je potřeba zpomalovat. Uvedu jeden příklad, který je velmi jednoduchý a docela lehce změnitelný.
Tímto bych asi završil část seriálu věnovanou spritům a jeysticku. Budete-li chtít pochopit práci se sprity a joystickem, zkuste si projít oba přiložené příklady. V dalších dílech se dozvíme něco více o zobrazování textu přes rutiny Basicu BSOUT a BASIN a podíváme se na zoubek nějakému tomu efektu běžícím v IRQ ... |
Poslední recenzereakce na článkyTOP 10 HRY
|