Werken met Amos deel 89 """"""""""""""""""""""" Amal kommando's """""""""""""""" Hier volgen alle AMAL kommando's: Move """" Dit verplaatst een objekt gelijkmatig van de ene naar de andere plaats. De syntax: Move deltaX,daleyY,steps deltaX bevat de lengte van de horizontale verplaatsing. Positieve nummers betekenen van links naar rechts en negatieve van rechts naar links. deltaY bepaalt de vertikale verplaatsing. Als deltaY positief is dan gaat het objekt neer, is hij negatief dan gaat het objekt omhoog. n bepaalt het aantal stappen waarmee de verplaatsing uitgevoerd moet worden. De meest gelijkmatige bewegingen worden verkregen als alle twee de deltaX en de deltaY precies veelvouden zijn van n. A (Anim) """""""" Anim cycles,(image,delay)(image,delay)... De Anim instruktie verwijst een animatie volgorde van de plaatjes naar een bob of een sprite om een realistisch animatie effekt te berekenen. Cycles bepaalt het aantal keren dat de animatie herhaald moet worden. Als die op nul staat, dan wordt de animatie tot in het oneindige herhaald. image kiest het plaatje nummer voor elk frame van je animatie. delay bepaalt het aantal keren dat je plaatje getoond wordt in vijftigste delen van een seconde. Nadat het Anim kommando ingeleid is, springt AMAL automatisch naar de volgende instruktie. Dan kan je de animatie en de verplaatsing beide kombineren in hetzelfde AMAL programma. Let """ Let reg=exp Dit kommando voegt een waarde toe aan een een AMAL register. reg is de naam van het AMAL register dat veranderd moet worden. Er zijn tien registers gaande van R0 tot R9, die beschikbaar voor het gebruik zijn en verder 25 externe registers (RA tot RZ). Je kunt ook direkt de positie en het soort objekt toevoegen via de registers X,Y en A. Expr is een standaard reken kundige uitdrukking en wordt doorlopen van links naar rechts om het eindelijke resultaat te geven. De meeste verwerkers ondersteunen +,-,* en /. Het is echter niet toegestaan om de berekenings volgorde te wijzigen met de haakjes (). Jump """" JUMP L Het Jump kommando springt van de huidige plaats van je AMAL programma naar label L. L is de naam van het label die eerder in de AMAL string gezet is. Labels hebben een hoofdletter en worden afgesloten met een dubbele punt ":". If "" If exp Jump L De If instruktie geeft je de mogelijkheid om van het ene naar het andere deel van je programma te springen afhankelijk van het resultaat van de vergelijking. exp is de standaard logical uitdrukking. Als exp waar is springt het programma naar label L, anders voert het onmiddellijk de volgende instruktie na Jump uit. Er zijn twee andere vormen van dit kommando die gebruikt worden bij de AUTOTEST mogelijkheid: If exp Direct L (Kiest een deel van het programma wat uitgevoerd moet worden na een autotest) If exp eXit (Verlaat autotest) Zie AUTOTEST voor meer informatie. For To Next """"""""""" For Reg=start To end...Next Reg Dit is de algemene betekenis van de For...Next loops in de Basic talen. Reg kan elk intern of extern register van AMAL bevatten. In het algemeen kunnen loops genesteld worden maar de stap (step) grootte van je loops moet altijd op 1 gezet worden. N.B.: AMAL wacht automatisch op de volgende vertikale blanke periode voor dat hij terug springt naar het begin van je loop met next. Omdat de objekt bewegingen in je programma alleen na een scherm herschrijven te zien zijn na een VBL, verspillen snellere loops processor tijd zonder merkbaar effekt. Dus je For...Next loops worden automatisch gelijk lopend gemaakt met het herschrijven van de schermen voor de meest gelijkmatige resultaten.