WERKEN MET AMOS deel 73 """"""""""""""""""""""" Miniterm maakt een blitter keuze nodig om de manier van bobs op het scherm tekenen. Een volledige omschrijving van de aanwezige teken keuzes kunnen gevonden worden in het stuk SCREEN COPY. Miniterm heeft algemeen de volgende waarden: %11100010 Als de bob een mask krijgt %11001010 Als de bob geen mask krijgt Voel je vrij om met deze waarden te experimenteren.De Amiga zal niet crashen als je een foutje maakt. Vooruitstrevende Amiga gebruikers zullen de volgende informatie wel waardevol vinden: Blitter Source (bron) Purpose (toepassing A Blitter mask B Blitter objekt C Ontvangende scherm Merk op dat je aangeraden wordt om SET BOB op te roepen voordat je bobs op het scherm laat zien. Doe je dat niet, dan krijg je weliswaar geen crash, geen foutmelding maar je scherm beeld wordt verstoord. NO MASK (Wis blitter mask) """""""""""""""""""""""""" NO MASK [n] Standaard wordt er automatisch een blitter mask gemaakt voor elke bob die op het scherm gezet wordt. De mask wordt gekombineerd met de scherm achtergrond door kleur nul doorzichtig te maken. Het wordt ook gebruikt door de vele bots kommando's Het NO MASK kommando verwijdert dit masker en dwingt het hele plaatje op het scherm te tekenen. Elk deel van het plaatje in kleur nul wordt nu direkt over de bestaande achtergrond getekend. n is het nummer van het plaatje wiens masker verwijderd is. Dit masker moet nooit gewist worden als het plaatje aktief werkzaam is op het scherm, anders wordt de bedoelde bob verstoord. Als je toch het masker weg wil hebben is het belamngrijk om de bedoelde bobs met het BOB OFF kommando uit te zten. Hier is een voornbeeld: Centre "Klik de muis knop om het masker te wissen) Double Buffer : Load"AMOS_DATA:Sprites/Octopus.abk" : Get Sprite Palette Do Bob 1,X Screen(X Mouse),Y Screen(Y Mouse),1 If Mouse Click Then Bob Off : No Mask 1 Loop ZIE MAKE MASK AUTOBACK (Zet het scherm kopieren op autimatisch) """"""""""""""""""""""""""""""""""""""""""""""""" AUTOBACK n Als je een double buffered scherm gebruikt is het van belang om je teken operaties gelijk te laten lopen met de bewegingen van je bobs. Denk eraan dat elk double buffered scherm bestaat uit twee aparte schermen. Er is een scherm voor het huidige plaatje en een ander scherm waarin het volgende plaatje vast geladen wordt. Verandert de ondergrond onder een bob terwijl die getekend wordt. Is de inhoud van deze schermen verschillend dan krijg je een zeer storende flikkering te zien. Het unieke AMOS AUTOBACK systeem laat je en perfekte oplossing zien van dat probleem. Het geeft je de mogelijkheid om je grafieken in elk van de drie grafische modes te laten zien, afhankelijk van de juiste benodigdheden in je programma. Voor de verandering geven we je een opgave van de keuses in omgekeerde volgorde. AUTOBACK 2 (Autoback mode - standaad) """"""""""""""""""""""""""""""""""""" In deze keuze worden alle teken operaties automatisch met het herschrijven van de bob gekombineerd. Dus alles wat je op het scherm tekent zal direkt onder je bobs getekend worden, als door toverkacht. Het principe van dit systeem kan gedemonsteerd worden door de volgende code: Rem Teken op het eerste scherm Rem Verwijder de bobs Bob Clear Rem Voer de Grafische operatie uit Plot 150,100 : Rem Dat kan alles zijn wat je wilt Bob Draw : Rem Hertekent bobs Screen Swap : Rem volgende scherm Bob Clear Plot 150,100 : Rem Voer je operatie voor de tweede keer uit Bob Draw Screen Swap : Rem Ga terug naar het eerste scherm Wait Vbl Zoals je ziet worden alle scherm operaties precies tweemaal uitgevoerd. Er bestaat een operatie voor beiden, de logical en de physical schermen. Het is duidelijk dat de grafieken nu tweemaal zo lang over het tekenen doen. Verder houd het programma op bij twee vertiakel blanke periodes. (of 2/50 seconde), elke keer dat je iets op je scherm zet. Dat kan ergerlijke vertragingen opleveren met de gevoelige aktiviteiten zoals het laten plaatsvinden van een botsing.