&& ------------------------------------------------------------------------------ CURSUS AMIGABASIC - SCHERMEN EN VENSTERS ------------------------------------------------------------------------------ Bij uw eerste programma's maakt u waarschijnlijk gebruik van het uitvoer- scherm van Basic. Wilt u echter wat meer doen dan is het aan te raden eigen schermen te gaan gebruiken. Op eigen schermen kunt u b.v. het aantal kleuren zelf bepalen en in Lo-Res gaan werken wat aanzienlijk minder geheugen ge- bruikt. Om met een eigen scherm te gaan werken moet u eerst kiezen welk type scherm u wilt gebruiken, dan het scherm openen en als laatste een window op dat scherm openen. AmigaBasic geeft alle uitvoer namelijk naar een window. Het SCREEN-kommando is als volgt : SCREEN Scherm-nummer,breedte,hoogte,diepte,mode Scherm-nummer is eenvoudig een getal dat aangeeft welk scherm het is. Dat nummer is nodig om bij een window aan te geven op welk scherm het moet verschijnen. Er zijn meerdere screens mogelijk. Breedte is eenvoudig de breedte in puntjes. Med-res is 640, Lo-res is 320. && Hoogte is de hoogte in puntjes. Voor Amerikaanse computers is dat 200 (400 in interlace). Voor computers uit Europa is het 256 (512 in interlace. Zie MODE). Diepte is een getal dat aangeeft hoeveel bitplanes er aan het scherm verbonden worden. Het aantal bitplanes geeft aan hoeveel kleuren er mogelijk zijn : 1 = 2 kleuren 2 = 4 kleuren 3 = 8 kleuren 4 = 16 kleuren 5 = 32 kleuren In Lo-res zijn 32 kleuren mogelijk, in Med-Res zijn slechts 16 kleuren. Mode deze variabele geeft aan wat voor een soort scherm wordt ge- opend. De volgende keuzes zijn mogelijk : 1 = low-resolution, geen interlace 2 = high-resolution, geen interlace 3 = low-resolution, interlace 4 = high-resolution, interlace In AmigaBasic zijn vanwege geheugen-beperkingen de eerste twee de zinvolste. && Nu twee standaard aanroepen van het screen-kommando : SCREEN 1,320,256,5,1 = Low-res scherm met een maat van 320 bij 256 puntjes. Er zijn 32 kleuren mogelijk. SCREEN 2,640,256,3,1 = Med-res scherm met een maat van 640 bij 256 puntjes. Er zijn 8 kleuren mogelijk. Bedenk dat een med-res-scherm twee keer zoveel geheugen gebruikt als een lo-res-scherm. De meeste spelen gebruiken lo-res. Alleen als er erg veel informatie op het scherm moet, dan gebruikt men med-res. In lo-res zijn 40 tekens per regel mogelijk, in med-res 80. Als het scherm geopend is moet er een window opgeroepen worden. Een window kan nooit groter zijn dat het scherm en nooit in een andere resolutie. U moet dus bij het openen van het scherm al rekening houden met het window, het venster. && Het WINDOW-kommando is als volgt : WINDOW venster-nummer,titel,rechthoek,type,screen Venster-nummer is een nummer waarmee we tussen verschillende vensters kunnen kiezen. Window 1 is het Basic-uitvoer-window. U moet dus 2 of hoger kiezen. Titel is de naam die links-boven in de balk komt te staan. Deze moet tussen aanhalings-tekens staan. Staat er niets dan wordt ook geen titel getoond : WINDOW venster-nummer,,rechthoek,type,screen Rechthoek geeft aan wat de maat van het venster is. Daarbij worden de coordinaten van de linker-bovenhoek en de rechter-onderhoek opgegeven : (0,0)-(150,90) Wordt hier geen waarde opgegeven dan wordt automatisch de maat van het scherm overgenomen : WINDOW venster-nummer,,,type,screen && Type is een getal dat een aangeeft welke mogelijkheden het venster heeft : 1 = het venster kan met het size-gadget onderaan in de hoek van maat worden veranderd. 2 = het venster kan verplaatst worden met de muis vanuit de menu-balk. 4 = het venster kan met de gadgets rechts-boven naar de voor- en achter-grond bewogen worden. 8 = het venster kan gesloten worden aan de linker bovenkant. 16 = als over het venster tijdelijk een ander venster is ver- schenen dan keert de inhoud weer terug als 16 is gekozen. Het is mogelijk verschillende waarden tegelijk te kiezen door eenvoudig de waarden op te tellen. 1+4=5 of 1+16=17 of 1+2+4+8+16=31. De waarde 0 of niets sluit al deze mogelijkheden uit. Deze waarde gebruikt het minste geheugen. Wordt mode 16 gebruikt dan kost dat veel geheugen. Screen is het nummer van het scherm (screen) waarop het venster moet verschijnen. Wat voorbeelden : WINDOW 1,"Lijnen",(10,10)-(270,70),15 WINDOW 2,,(300,70)-(310,150),0,1 WINDOW 3,,,0,2 && Het SCREEN- en WINDOW-kommando hebben nog een paar extra mogelijkheden, hulp-kommando's : SCREEN CLOSE Screen-nummer = Sluit het SCREEN. WINDOW CLOSE Window-nummer = Sluit het WINDOW. WINDOW OUTPUT Window-nummer = Uitvoer gaat naar dat WINDOW. De eerste twee zijn om het programma netjes af te sluiten of van een scherm of venster af te komen. De laatste maakt het mogelijk stukken van de uitvoer naar een specifiek venster te laten gaan. Wilt u in de vensters verschillende kleuren gebruiken dan zijn de kommando's COLOR en PALETTE nodig. Bekijk die kommando's in uw Basic-handleiding. In het programma hieronder worden ze gebruikt. && Hier volgt nog een voorbeeld-programma dat verschillende kommando's gebruikt. Het programma staat in de directory BASIC onder de naam Screens. SCREEN 2,320,256,5,1 WINDOW 2,"Voorbeeld-Venster-1",(0,0)-(300,100),0,2 WINDOW 3,"Voorbeeld-venster-2",(0,110)-(300,240),0,2 WINDOW OUTPUT 2 COLOR 1 PRINT "Dit zijn de standaard kleuren :" FOR I=1 TO 31 COLOR I PRINT "Kleur"I; IF I/4=INT(I/4) THEN PRINT NEXT I COLOR 1 WINDOW OUTPUT 3 COLOR 1 PRINT PRINT "Deze tekst komt nu op het andere" PRINT "venster te staan. Dit komt door" PRINT "het WINDOW OUTPUT-kommando." && REM Wachten op een muis-knop. PRINT PRINT "Druk de muis-knop." WHILE MOUSE(0)<>0 : WEND WHILE MOUSE(0)=0 : WEND WINDOW CLOSE 3 FOR I=1 TO 3000 : NEXT WINDOW CLOSE 2 FOR I=1 TO 3000 : NEXT SCREEN CLOSE 2 END - EINDE ---------------------------------------------------------------------- &&