Skip to main content

Corona-Gruppen: Wie schichten, verschieben und Grafiken nach vorne bringen

Procreate Tutorial - Ebenen erstellen, bearbeiten und anpassen (Kann 2024)

Procreate Tutorial - Ebenen erstellen, bearbeiten und anpassen (Kann 2024)
Anonim

Die Schlüsselkomponente für das Erstellen, Bearbeiten und Verwalten von Grafiken im Corona SDK ist das Anzeigeobjekt. Dieses Objekt kann nicht nur verwendet werden, um ein Bild aus einer Datei anzuzeigen. Vielleicht ist es auch wichtig, dass Sie Ihre Bilder gruppieren können. Auf diese Weise können Sie eine ganze Reihe von Grafiken gleichzeitig auf dem Bildschirm verschieben und Grafiken übereinander legen.

In diesem Tutorial lernen Sie die Grundlagen der Verwendung von Anzeigegruppen zum Organisieren der grafischen Objekte in Ihrem Projekt. Dies wird demonstriert, indem zwei verschiedene Ebenen erstellt werden, eine für den normalen Bildschirm und eine andere für eine modale Ebene, die darüber angeordnet werden soll. Neben dem Layering der Grafiken verwenden wir auch das Übergangsobjekt, um die gesamte Modalgruppe zu verschieben.

Wie vermarkten Sie Ihre App?

Hinweis: Um diesem Tutorial folgen zu können, benötigen Sie zwei Bilder: image1.png und image2.png. Dies können beliebige Bilder sein, die Sie auswählen. Das Tutorial funktioniert jedoch am besten, wenn Sie Bilder im Bereich von 100 Pixel x 100 Pixel haben. So können Sie leicht sehen, was mit den Bildern passiert.

Um zu beginnen, öffnen wir eine neue Datei namens main.lua und beginnen mit der Erstellung unseres Codes:

displayMain = display.newGroup (); displayFirst = display.newGroup (); displaySecond = display.newGroup (); global_move_x = display.contentWidth / 5;

In diesem Codeabschnitt wird die UI-Bibliothek eingerichtet und durch Anzeigegruppen deklariert: displayMain, displayFirst und displaySecond. Wir verwenden diese, um unsere Grafiken zuerst zu schichten und dann zu verschieben. Die Variable global_move_x ist auf 20% der Anzeigebreite festgelegt, sodass wir die Bewegung sehen können.

Funktion setupScreen () displayMain: insert (displayFirst); displayMain: insert (displaySecond); displayFirst: toFront (); displaySecond: toFront (); lokaler Hintergrund = display.newImage ("image1.png", 0,0); displayFirst: insert (Hintergrund); lokaler Hintergrund = display.newImage ("image2.png", 0,0); displaySecond: insert (Hintergrund); Ende

Die Funktion setupScreen zeigt, wie Sie Anzeigegruppen zur Hauptanzeigegruppe hinzufügen. Wir verwenden auch die Funktion toFront (), um die verschiedenen Grafikebenen einzurichten, wobei die gewünschte Ebene immer die zuletzt definierte Zeit ist.

In diesem Beispiel ist es nicht unbedingt erforderlich, displayFirst nach vorne zu verschieben, da es standardmäßig unter der Gruppe displaySecond liegt. Es ist jedoch ratsam, sich die Gewohnheit zu machen, jede Anzeigegruppe explizit zu überlagern. Die meisten Projekte haben mehr als zwei Ebenen.

Wir haben jeder Gruppe auch ein Bild hinzugefügt. Wenn wir die App starten, sollte sich das zweite Bild über dem ersten Bild befinden.

function screenLayer () displayFirst: toFront (); Ende

Wir haben unsere Grafiken bereits mit der Gruppe displaySecond über der Gruppe displayFirst überlagert. Mit dieser Funktion wird displayFirst nach vorne verschoben.

function moveOne () displaySecond.x = displaySecond.x + global_move_x; Ende

Die moveOne-Funktion verschiebt das zweite Bild um 20% der Bildschirmbreite nach rechts. Wenn wir diese Funktion aufrufen, befindet sich die Gruppe displaySecond hinter der Gruppe displayFirst.

function moveTwo () displayMain.x = displayMain.x + global_move_x; Ende

Die moveTwo-Funktion verschiebt beide Bilder um 20% der Bildschirmbreite nach rechts. Anstatt jedoch jede Gruppe einzeln zu verschieben, verwenden wir die Gruppe displayMain, um beide gleichzeitig zu verschieben. Dies ist ein hervorragendes Beispiel dafür, wie mit einer Anzeigegruppe, die mehrere Anzeigegruppen enthält, viele Grafiken gleichzeitig bearbeitet werden können.

setupScreen (); timer.performWithDelay (1000, screenLayer); timer.performWithDelay (2000, moveOne); timer.performWithDelay (3000, moveTwo);

Dieser letzte Code veranschaulicht, was passiert, wenn wir diese Funktionen ausführen. Wir verwenden die Funktion timer.performWithDelay, um die Funktionen jede Sekunde nach dem Start der App auszulösen. Wenn Sie mit dieser Funktion nicht vertraut sind, ist die erste Variable die Verzögerungszeit in Millisekunden und die zweite ist die Funktion, die wir nach dieser Verzögerung ausführen möchten.

Wenn Sie die App starten, sollten Sie image2.png auf image1.png haben. Die screenLayer-Funktion wird ausgelöst und image1.png in den Vordergrund gebracht. Die moveOne-Funktion entfernt image2.png unter image1.png. Die moveTwo-Funktion wird zuletzt ausgelöst, wobei beide Bilder gleichzeitig verschoben werden.

So reparieren Sie ein langsames iPad

Es ist wichtig zu wissen, dass jede dieser Gruppen Dutzende von Bildern enthalten kann. Und so wie die moveTwo-Funktion beide Bilder mit einer Codezeile verschoben hat, übernehmen alle Bilder einer Gruppe die Befehle, die der Gruppe gegeben werden.

Technisch gesehen kann die Gruppe displayMain sowohl Anzeigegruppen als auch Bilder enthalten. Es ist jedoch eine gute Praxis, einige Gruppen wie displayMain als Container für andere Gruppen ohne Bilder fungieren zu lassen, um eine bessere Organisation zu erreichen.

In diesem Lernprogramm wird das Anzeigeobjekt verwendet. Erfahren Sie mehr über das Anzeigeobjekt.

Erste Schritte bei der Entwicklung von iPad-Apps