Kako narediti plast, premakniti in prinašati grafiko na sprednjo stran

Uporaba korona SDK za manipulacijo grafike

Ključna sestavina ustvarjanja, manipuliranja in upravljanja grafike v Corona SDK je zaslonski objekt. Ne le, da se lahko ta predmet uporablja za prikaz slike iz datoteke, morda prav tako pomembno, omogoča skupno rabo slik. S tem lahko premikate celoten nabor grafike okrog zaslona hkrati in plast grafike na vrhu med seboj.

Ta vadnica vas bo naučila osnov uporabe skupin prikazov za organiziranje grafičnih predmetov v vašem projektu. To se bo pokazalo z ustvarjanjem dveh različnih slojev, od katerih eden predstavlja običajen zaslon, drugi pa predstavlja modalen sloj, ki se ga doda na vrh. Poleg plasti grafike bomo uporabili tudi prehodni predmet, da premaknemo celotno modalno skupino.

Kako tržiti svojo aplikacijo

Opomba: Če želite slediti tej vadnici, boste potrebovali dve sliki: image1.png in image2.png. To so lahko vse slike, ki jih izberete, vendar bo vadnica najbolje delovala, če imate slike približno 100 slikovnih pik s 100 slikovnimi pikami. S tem boste lažje videli, kaj se dogaja s slikami.

Za začetek bomo odprli novo datoteko z imenom main.lua in začeli graditi kodo:

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

Ta del kode nastavi našo knjižnico ui in razglasi za prikazne skupine: displayMain, displayFirst in displaySecond. Te bomo uporabili, da najprej plastimo naše grafike in jih nato premaknemo. Spremenljivka global_move_x je nastavljena na 20% širine zaslona, ​​zato lahko vidimo gibanje.

funkcija setupScreen () displayMain: vstavi (displayFirst); displayMain: vstavi (displaySecond); displayFirst: toFront (); displaySecond: toFront (); lokalno ozadje = display.newImage ("image1.png", 0,0); displayFirst: vstavi (ozadje); lokalno ozadje = display.newImage ("image2.png", 0,0); displaySecond: vstavi (ozadje); konec

Funkcija setupScreen prikazuje, kako dodati skupine prikazov v glavno skupino prikazov. Uporabljamo tudi funkcijo toFront (), da nastavimo različne grafične sloje, s slojem, ki jo želimo na vrhu ves čas, ki je naveden zadnji.

V tem primeru res ni nujno, da se displayFirst premakne naprej, saj bo privzeto, da bo pod skupino displaySecond, vendar je dobro, da se navadite, da izrecno napolni vsako skupino zaslona. Večina projektov bo končala z več kot dvema plastema.

Vsaki skupini smo dodali tudi sliko. Ko začnemo aplikacijo, mora biti druga slika na vrhu prve slike.

funkcija screenLayer () displayFirst: toFront (); konec

Grafiko smo že postavili s skupino DisplaySecond na vrhu skupine displayFirst. Ta funkcija bo premaknila prikazFirst naprej.

funkcija moveOne () displaySecond.x = displaySecond.x + global_move_x; konec

Funkcija moveOne bo drugo sliko pomaknila v desno za 20% širine zaslona. Ko pokličemo to funkcijo, bo skupina DisplaySecond za skupino displayFirst.

funkcija moveTwo () displayMain.x = displayMain.x + global_move_x; konec

Funkcija moveTwo bo premaknila obe sliki v desno za 20% širine zaslona. Vendar pa namesto da bi vsako skupino premaknili posamezno, bomo uporabili skupino DisplayMain, da jih hkrati premaknemo. To je odličen primer, kako lahko skupino zaslona, ​​ki vsebuje več skupin prikazov, uporablja za manipulacijo številnih grafik hkrati.

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

Ta zadnji koda kode prikazuje, kaj se zgodi, ko te funkcije vodimo. Uporabili bomo funkcijo timer.performWithDelay za izklop funkcij vsako sekundo po zagonu aplikacije. Če niste seznanjeni s to funkcijo, prva spremenljivka je čas za zakasnitev, izražen v milisekundah, druga pa funkcija, ki jo želimo zagnati po tej zamudi.

Ko zaženete aplikacijo, bi morali imeti image2.png na vrhu image1.png. Funkcija screenLayer se bo sprožila in prinesel image1.png na sprednji strani. Funkcija moveOne bo premaknila image2.png iz pod image1.png, funkcija moveTwo pa bo trajala, tako da hkrati premika obe sliki.

Kako popraviti počasen iPad

Pomembno je vedeti, da bi vsaka od teh skupin imela na njih več deset slik. In ravno tako, ker je funkcija moveTwo premaknila obe sliki z eno vrstico kode, bodo vse slike znotraj skupine sprejele ukaze, dodeljene skupini.

Tehnično bi skupina DisplayMain lahko imela tako skupine prikazov kot tudi slike v njem. Vendar je dobra praksa, da nekatere skupine, kot je displayMain, delujejo kot kontejnerji za druge skupine brez slik, da bi ustvarili boljšo organizacijo.

Vadnica uporablja zaslonski objekt. Več o prikaznem objektu.

Kako začeti razvijati aplikacije iPad