Stap 6: Ontwerpen van en werken met Sprites
Laten we springen door te werken met sommige sprites.
Zult u een paar bestanden die zijn toegevoegd aan uw Micromite Companion SD-kaart voordat u begint.
Het downloaden van de volgende handelingen uit op uw SD-kaart:
Na het opslaan van deze bestanden op uw SD-kaart (en herziening van de instructies op de SPREDIT. BIN), schoen opwaarts naar de Micromite metgezel en CTRL-B SPREDIT naar "Brun" de Sprite Editor. Zodra de sprite editor te starten is, drukt u op L en typ DEMO. SPR de sprites monster in het geheugen laden.
De sprite editor is geschikt voor het werken met 16 sprite. SPR bestanden. Deze sprites zijn genummerd 0-15.
Als u Pagina-UP/PAGE-DOWN door de sprites, u ziet u drie bewegende sprites hebben, elk bestaande uit vier frames elke webserver zodanig animatie maken.
Voel je vrij om een aantal wijzigingen, het verkennen van de functies van de sprite editor, dan S gebruiken en typ de naam van het bestand (DEMO. SPR) wijzigingen op te slaan uw terug naar SD.
Vervolgens druk op de reset-knop op uw Micromite metgezel en typ bewerken om te beginnen maken van uw eigen BASIC-programma met behulp van deze sprites.
Alle mode 4 BASIC programma's moeten beginnen met de volgende vier regels:
I2C open 400,100 PC = &h42 I2C write PC,0,3,1,2,4 'Switch to mode4.mde DO WHILE ASC(a$) <> 42 : a$=INKEY$ : LOOP
Deze regels doen het volgende:
I2C open 400,100 Hiermee opent u de I2C communicatiekanaal
PC = & h42 Hiermee maakt u een variabele PC die we als "steno" verderop in de I2C opdrachten gebruiken zullen.
I2C schrijven PC, 0, 3, 1, 2 of 4 Opdrachten van de Propeller om over te schakelen naar de modus 4 wanneer het programma wordt uitgevoerd.
Doe terwijl ASC(A$) <> 42: een$ = INKEY$: LOOP Vertelt de Micromite te wachten op de schroef om over te schakelen van modi.
Vervolgens invoegen meerdere lege regels maken wat werkruimte die we komen terug naar en maken van de volgende subroutines;
SUB LoadResource file$,cmd I2C WRITE PC,0,2,1,230 'Clear the I2C registers FOR X = 1 TO LEN(file$) 'Send filename I2C WRITE PC,0,2,x+1,ASC(MID$(file$,x,1)) : NEXT X I2C WRITE PC,0,2,1,cmd 'Initate Load 180 or 181 a$ ="": DO WHILE a$ <> "*" : a$=INKEY$ : LOOP : PAUSE 1000 END SUB SUB LoadSpr sprite,graphic,x,y,mirror,palette I2C WRITE PC,0,8,1,202,sprite,graphic,x,y,mirror,palette END SUB
Er zijn verschillende zeer handige subroutines die wij u bieden voor uw programma's, maar in de geest van het houden van dingen eenvoudig, laten we beginnen met het allereerste echtpaar.
Vervolgens, ga terug naar een regel onder de DO WHILE ASC(A$) <> 42... en type in het volgende:
LoadResource "demo.spr",180 LoadSpr 1,4,100,175,0,0
De subroutine LoadResource laadt uw DEMO. SPR bestand in het geheugen op het eerste punt van uw programma.
De subroutine LoadSpr zal een sprite 1, {sprite 4}, plaatsen op de positie van het scherm 100,175
Druk op F2 om uw programma te gebruiken. Druk op CTRL-Cen vervolgens op F4 om terug te komen aan de editor.
Wijzig de variabelen 4, 100 en 175 en nemen en opnieuw uitvoeren om de resultaten te zien.
De subroutine LoadSpr kan worden aangeroepen wanneer u moet bijwerken van de positie van een sprite.
Houd rekening met het volgende voorbeeld:
For x = 100 to 150 LoadSpr 1,4,x,175,0,0 pause 10 Next x
In het algemeen, wanneer u een spel schrijft, hebt u een "master spel lus" waarin uw LoadSpr opdrachten worden bijgewerkt bij elke pass van de loop, bijwerken van de standpunten van je sprites.