Het belangrijkste onderdeel van het maken, bewerken en beheren van afbeeldingen in de Corona SDK is het weergaveobject. Dit object kan niet alleen worden gebruikt om een afbeelding uit een bestand weer te geven, misschien net zo belangrijk, het stelt je in staat om je afbeeldingen te groeperen. Hiermee kunt u een hele reeks afbeeldingen in één keer over het scherm verplaatsen en afbeeldingen op elkaar zetten.
In deze zelfstudie leert u de basis van het gebruik van weergavegroepen om de grafische objecten in uw project te ordenen. Dit wordt aangetoond door twee verschillende lagen te maken, één die het normale scherm vertegenwoordigt en een ander die een modale laag vertegenwoordigt om er bovenop te worden geplaatst. Naast het aanbrengen van lagen in de afbeeldingen, gebruiken we ook het overgangsobject om de gehele modalgroep te verplaatsen.
Hoe u uw app kunt promoten
Notitie: Om deze tutorial te volgen, hebt u twee afbeeldingen nodig: image1.png en image2.png. Dit kunnen alle afbeeldingen zijn die u kiest, maar de zelfstudie werkt het beste als u afbeeldingen van ongeveer 100 bij 100 pixels hebt. Hiermee kunt u gemakkelijk zien wat er met de afbeeldingen gebeurt.
Om aan de slag te gaan, openen we een nieuw bestand met de naam main.lua en beginnen we met het bouwen van onze code:
displayMain = display.newGroup (); displayFirst = display.newGroup (); displaySecond = display.newGroup (); global_move_x = display.contentWidth / 5;
Dit gedeelte van de code stelt onze ui-bibliotheek in en declareert via weergavegroepen: displayMain, displayFirst en displaySecond. We zullen deze gebruiken om eerst onze grafische afbeeldingen te lagen en ze vervolgens te verplaatsen. De variabele global_move_x is ingesteld op 20% van de breedte van het display, zodat we de beweging kunnen zien.
functie setupScreen () displayHain: insert (displayFirst); displayMain: insert (displaySecond); displayFirst: toFront (); displaySecond: toFront (); lokale achtergrond = display.newImage ("image1.png", 0,0); displayFirst: insert (achtergrond); lokale achtergrond = display.newImage ("image2.png", 0,0); displaySecond: insert (achtergrond); einde
De setupScreen-functie laat zien hoe u displaygroepen kunt toevoegen aan de hoofdschermgroep. We gebruiken ook de functie toFront () om de verschillende grafische lagen in te stellen, met de laag die we bovenaan willen plaatsen, de laatst gedeclareerde tijd.
In dit voorbeeld is het niet echt nodig om de display eerst naar voren te verplaatsen, omdat deze standaard onder de displayseconde groep zal staan, maar het is goed om de gewoonte aan te nemen om elke weergavegroep expliciet in lagen op te nemen. De meeste projecten zullen eindigen met meer dan twee lagen.
We hebben ook een afbeelding toegevoegd aan elke groep. Wanneer we de app starten, moet de tweede afbeelding bovenop de eerste afbeelding staan.
function screenLayer () displayFirst: toFront (); einde
We hebben onze afbeeldingen al gelaagd met de display Tweede groep bovenop de display First-groep. Deze functie zal displayFirst naar voren verplaatsen.
function moveOne () displaySecond.x = displaySecond.x + global_move_x; einde
Met de functie moveOne wordt de tweede afbeelding 20% van de schermbreedte naar rechts verplaatst. Wanneer we deze functie aanroepen, staat de groep displaySecond achter de eerste groep display.
functie moveTwo () displayMain.x = displayMain.x + global_move_x; einde
Met de functie moveTwo worden beide afbeeldingen 20% van de schermbreedte naar rechts verplaatst. In plaats van elke groep afzonderlijk te verplaatsen, gebruiken we de groep displayMain om ze allebei tegelijkertijd te verplaatsen. Dit is een goed voorbeeld van hoe een weergavegroep die meerdere displaygroepen bevat, kan worden gebruikt om veel afbeeldingen tegelijk te bewerken.
setupScreen (); timer.performWithDelay (1000, screenLayer); timer.performWithDelay (2000, moveOne); timer.performWithDelay (3000, moveTwo);
Dit laatste stukje code laat zien wat er gebeurt als we deze functies uitvoeren. We gebruiken de timer.performWithDelay-functie om de functies elke seconde nadat de app is gestart af te vuren. Als u niet bekend bent met deze functie, is de eerste variabele de tijd tot vertraging, uitgedrukt in milliseconden en de tweede is de functie die we na die vertraging willen uitvoeren.
Wanneer u de app start, zou image2.png op image1.png moeten staan. De functie ScreenLayer vuurt af en brengt image1.png naar voren. De moveOne-functie zal image2.png verplaatsen van onder image1.png en de moveTwo-functie zal als laatste worden geactiveerd, waarbij beide afbeeldingen tegelijkertijd worden verplaatst.
Hoe een trage iPad te repareren
Het is belangrijk om te onthouden dat elk van deze groepen tientallen afbeeldingen in zich kan hebben. En net zoals de moveTwo-functie beide afbeeldingen met één regel code heeft verplaatst, nemen alle afbeeldingen binnen een groep de commando's over die aan de groep zijn gegeven.
Technisch gezien kan de displayMain-groep zowel weergavegroepen als afbeeldingen bevatten. Het is echter een goede gewoonte om sommige groepen, zoals displayHain, als containers voor andere groepen zonder afbeeldingen te laten fungeren om een betere organisatie te creëren.
Deze zelfstudie maakt gebruik van het weergaveobject. Meer informatie over het weergaveobject.
Aan de slag iPad Apps ontwikkelen