Kā Layer, pārvietot un padarīt grafiku uz priekšu

Izmantojot Corona SDK, lai manipulētu grafiku

Attēlu objekts ir Corona SDK grafikas izveides, manipulēšanas un pārvaldības galvenais elements. Šo objektu var izmantot ne tikai, lai parādītu attēlu no faila, iespējams, tas pats svarīgākais, tas ļauj grupēt savus attēlus kopā. Tas ļauj pārvietot visu grafiku kopumu uz ekrāna vienlaikus un slāņa grafikas virspusē.

Šī apmācība iemācīs pamatus, kā izmantot displeju grupas, lai organizētu grafiskos objektus jūsu projektā. Tas parādīsies, izveidojot divus dažādus slāņus, no kuriem viens ir parasts ekrāns, bet otrs - modāla slānis, kas novietots virs tā. Papildus grafiku layering, mēs izmantosim arī pārejas objektu, lai pārvietotu visu modālo grupu.

Kā tirgo savu lietotni

Piezīme . Lai sekotu līdzi šai apmācībai, jums būs vajadzīgi divi attēli: image1.png un image2.png. Tie var būt visi izvēlētie attēli, bet apmācība vislabāk darbojas, ja jums ir attēli aptuveni 100 pikseļi pa 100 pikseļiem. Tas ļaus jums viegli redzēt, kas notiek ar attēliem.

Lai sāktu darbu, mēs atvērsim jaunu failu ar nosaukumu main.lua un sāksim veidot savu kodu:

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

Šī koda sadaļa izveido mūsu ui bibliotēku un deklarē, izmantojot displeja grupas: displayMain, displayFirst un displaySecond. Mēs izmantosim tos pirmajam mūsu grafikas slānim un pēc tam pārvietosim tos. Mainīgais global_move_x ir iestatīts uz 20% no displeja platuma, lai mēs varētu redzēt kustību.

function setupScreen () displayMain: ievietot (displejsPirmkārt); displayMain: ievietot (displejs sekundes); displayFirst: toFront (); displaySecond: toFront (); vietējais fons = displejs.newImage ("image1.png", 0,0); displayFirst: ievietot (fons); vietējais fons = displejs.newImage ("image2.png", 0,0); displaySecond: ievietot (fons); beigas

SetupScreen funkcija parāda, kā galvenajā displeja grupā pievienot izliktošo grupu. Mēs arī izmantojam funkciju toFront (), lai iestatītu dažādus grafiskos slāņus, un slānim, kuru mēs gribam uz augšu, visu laiku, kas pasludināts pēdējā laikā.

Šajā piemērā nav īsti jāpārvieto displejs vispirms priekšpusē, jo tā noklusējuma vērtība būs zem displaySecond grupas, bet ir labi iekļūt ieradumos, lai skaidri izkārtotu katru displeju grupu. Lielākā daļa projektu beigsies ar vairāk nekā diviem slāņiem.

Mēs esam arī pievienojuši attēlu katrai grupai. Kad sākam lietotni, otrajam attēlam jābūt pirmā attēla augšdaļā.

funkcija displayLayer () displayFirst: toFront (); beigas

Mēs jau esam izvietojuši mūsu grafiku ar displaySecond grupu displeja pirmajā grupā. Šī funkcija pārvietos displeju vispirms uz priekšu.

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

Izmantojot funkciju MoveOne, otrais attēls tiks pārvietots pa labi, par 20% no ekrāna platuma. Kad mēs to saucam par šo funkciju, displaySecond grupa būs aiz displeja Pirmā grupa.

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

Funkcija moveTwo pārvietos abus attēlus pa labi līdz 20% no ekrāna platuma. Tomēr, tā vietā, lai pārvietotu katru grupu atsevišķi, mēs izmantosim DisplayMain grupu, lai tos vienlaikus pārvietotu abus. Tas ir lielisks piemērs tam, kā displeja grupu, kurā ir vairākas displeju grupas, var izmantot, lai vienlaikus manipulētu ar daudzām grafikām.

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

Šis pēdējais koda bits parāda, kas notiek, kad mēs darbojam šīs funkcijas. Mēs izmantosim funkciju taimeris.performWithDelay, lai katru dienu pēc programmas ieslēgšanas aktivizētu funkcijas. Ja jūs neesat pazīstams ar šo funkciju, pirmajam mainīgajam ir aiztures laiks, kas izteikts milisekundēs, un otrā ir funkcija, kuru mēs vēlamies palaist pēc šīs kavēšanās.

Kad palaižat lietotni, jums vajadzētu būt image2.png virs attēla1.png. Ekrāna slāņa funkcija aktivizēsies un parādīs priekšā attēlu1.png. Ar moveOne funkcija no image1.png pārvietosies image2.png un funkcija moveTwo aizkustīs pēdējo, vienlaikus pārvietojot abus attēlus.

Kā Fix Slow iPad

Ir svarīgi atcerēties, ka katrā no šīm grupām var būt desmitiem attēlu. Un tāpat kā moveTwo funkcija pārvietoja abus attēlus ar vienu koda rindiņu, visi grupas attēli uzņem grupai piešķirtās komandas.

Tehniski DisplayMain grupā var būt gan attēlojuma grupas, gan attēli tajā. Tomēr ir laba prakse, lai dažas grupas, piemēram, displayMain, varētu darboties kā konteineri citām grupām bez attēliem, lai izveidotu labāku organizāciju.

Šajā apmācībā tiek izmantots displeja objekts. Uzziniet vairāk par displeja objektu.

Kā sākt lietot iPad Apps izstrādi