Wéi d'Layer, de Move a Bring Graphics to Front

Benotz den Corona SDK fir Graphiken ze manipuléieren

De Schlësselelement vun der Schafung, der Manipulatioun an de Gestioun vun Grafiken am Corona SDK ass den Objetobjekt. Net nëmmen dëst Objet kann benotzt ginn fir e Bild aus enger Datei z'ënnerhuelen, vläicht genee esou wichteg wéi et Iech erlaabt Iech Är Biller zesummen ze gruppéieren. Dëst léisst Dir eng ganz Rei vu Grafiken um Bildschierm op e puer an déi Layergraphiken op Top vuneneen bewegen.

Dëst Tutorial leet Iech d'Basis vun der Verwuerderung vun Gruppen fir d'Grafike vun Ärem Projet organiséieren. Dëst wäert bewisen ginn duerch Schafe vun zwee verschiddene Schichten, eent wat de normale Bildschirm representéiert an eng aner representéiert eng Modalschicht, déi op der Spëtzt steet. Niewent der Layering vun der Grafik benotzen mir och de Transitiounobjekt fir déi ganz Modalgruppe ze bewegen.

Wéi Är Maart App

Remarque: Fir Iech mat dësem Tutorial ze folgen, brauch Dir zwee Biller: image1.png an image2.png. Dës kënnen all Biller sinn, déi Dir gewielt hutt, awer d'Tutorial funktionnéiert am beschten wann Dir Biller um 100 Pixelen ëm 100 Pixel hunn. Dëst erlaabt Iech einfach ze gesinn, wat geschitt mat den Biller.

Fir unzefänken, ginn mir eng nei Datei genannt main.lua a fänkt un eise Code un:

DisplayMain = display.newGroup (); DisplayFirst = display.newGroup (); DisplaySecond = display.newGroup (); global_move_x = display.contentWidth / 5;

Dëse Deel vum Code bitt eis ui Bibliothéik a deklaréiert iwwer Affichagegruppen: DisplayMain, DisplayFirst a DisplaySecond. Mir benotze mir fir eis éischt Grafike vun der Graf ze maachen an dann se réckelen. D'global_move_x Variabel ass op 20% vun der Breet vum Display gespaart fir datt mer d'Bewegung gesinn.

function setupScreen () DisplayMain: Insert (DisplayFirst); DisplayMain: Insert (DisplaySecond); DisplayFirst: toFront (); DisplaySecond: zuFront (); Lokales Background = display.newImage ("image1.png", 0,0); DisplayFirst: Insert (Background); Lokal Background: = display.newImage ("image2.png", 0,0); DisplaySecond: Insert (Hannergrond); Enn

De SetupScreen -Funktion weist datt Dir Anzeigengruppen an déi haaptsächlech Anzeigengrupp addéieren. Mir benotzen och d'Front () -Funktion fir déi verschidden Grafikschichten z'erfëllen, mat der Layer déi mir am Ufank vun der lescht erkläert hunn.

An dësem Beispill ass et net wierklech néideg fir d'Display ofrëschten zevill un der Franséischer Säit, well et Standard gëtt ënnert dem DisplaySecond-Grupp ze sinn, awer et ass gutt fir an d'Gewunnechkeet ze explizéieren an all Displaygruppe ze kréien. Déi meescht Projeten hunn endlech méi wéi zwee Schichten.

Mir hunn och e Bild fir all Grupp ugebueden. Wann mer d'App starten, da sollt déi éischte Bild op den éischte Bild sinn.

funktionnéieren screenLayer () displayFirst: toFront (); Enn

Mir hunn eis Grafik mat der DisplaySecond-Grupp op der DisplaySchittergruppe geschicht. Dës Funktioun wäerte Display erspueren fir unzefänken.

D'Bewegung moveOne () displaySecond.x = displaySecond.x + global_move_x; Enn

D'Bewegungsfunktioun bewegt d'zweet Bild op der rietser Säit ëm 20% vun der Écranbreedung. Wann mer dës Funktioun nennen, wäerte d'DisplaySecond-Grupp hannert der LëschtSocketgrupp sinn.

function moveTwo () displayMain.x = DisplayMain.x + global_move_x; Enn

Déi moveTwo Funktioun fiert zwou Biller op der Säit um 20% vun der Écranbreedung. Allerdéngs wäerte mir d'DisplayMain Grupp souwuel an der selwechter Zäit zéien. Dëst ass e super Beispill, wéi eng Displaygrupp mat verschiddene Anzeigengruppen benotzt ka fir vill Grafiken direkt ze manipuléieren.

SetupScreen (); timer.performWithDelay (1000, screenLayer); timer.performWithDelay (2000, Wee); timer.performWithDelay (3000, moveTwo);

Dëst lescht Buch vum Code weist dat wat geschitt wann mer dës Fonktioune féieren. Mir benotzen d'Timer.performWithDelay Funktioun fir d'Funktioun all Sekonn opzehuelen nodeems d'App gestart gouf. Wann Dir mat dëser Funktioun net gemengt ass, ass déi éischt Variabel déi Zäit, déi ausgedréckt a Millisekunden ausgedréckt gëtt an déi zweet ass d'Funktioun, déi mir no der Verzögerung lafen.

Wann Dir d'App lancéiert, musst Dir image2.png op d'Bild1.png benotzen. D'ScreenLayer -Funktioun wäerte bréngen a bréngen Image1.png un der Franséischt. D'Bewegungsfunktioun geet vu image2.png aus Bild1.png, an d'Bewegungstwo funktionéiert am leschte Feier, fir datt zwou Biller gläichzäiteg bewegt sinn.

Wéi fréier e lues iPad

Et ass wichteg ze erënneren datt all eenzel Gruppen dës Dutzende vu Biller an hinnen hunn. An esou wéi d'moveTwo Funktion d'Biller mat enger Zeil vu Code verschwonnen sinn, ginn all Biller an enger Grupp d'Befehle vun der Grupp.

Technesch huet d'DisplayMain Grupp zwou Biller an Biller enthale kënnen. Mä et ass eng gutt Praxis fir verschidde Gruppen wéi DisplayMain als Container fir aner Gruppen ouni Bildungen ze maachen fir eng besser Organisatioun ze bilden.

Dëst Tutorial benotzt den Ofdeckungsobjekt. Méi erfueren iwwer den Affichage-Objekt.

Wéi gitt geschafft iPad Apps Apps entwéckelen