Kuinka tasata, siirtää ja tuoda grafiikkaa eteen

Corona SDK: n käyttäminen manipuloimaan grafiikkaa

Corona SDK: n grafiikan luomisen, manipuloinnin ja hallinnan keskeinen osa on näyttöobjekti. Tämä objekti ei ainoastaan ​​pysty näyttämään kuvaa tiedostosta, ehkä aivan yhtä tärkeästi, sen avulla voit ryhmitellä kuvat yhteen. Tämän avulla voit siirtää koko näytönohjaimen näytöllä kerralla ja tasokerroksen päällekkäin.

Tämä opetusohjelma opettaa sinulle näyttöryhmien perusteet projektin graafisten objektien järjestämiseksi. Tämä näytetään luomalla kaksi eri kerrosta, joista toinen edustaa normaalia näyttöä ja toinen, joka edustaa modaalikerrosta sen päälle. Kuvioiden pilkkomisen lisäksi siirtoobjektia käytetään myös siirtämään koko modaaliryhmä.

Kuinka markkinoida sovelluksesi

Huomaa: Jotta voit seurata tätä opetusohjelmaa, tarvitset kaksi kuvaa: image1.png ja image2.png. Nämä voivat olla mitä tahansa valitsemasiasi kuvia, mutta opetusohjelma toimii parhaiten, jos sinulla on kuvia noin 100 pikseliä 100 pikseliä kohden. Näin voit helposti nähdä, mitä kuvissa tapahtuu.

Aloitamme avaamme uuden tiedoston nimeltä main.lua ja aloitamme koodin rakentamisen:

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

Tämä koodin osa luo ui-kirjastomme ja ilmoittaa sen näyttämisryhmien kautta: displayMain, displayFirst ja displaySecond. Käytämme näitä ensimmäiseen kerrokseen grafiikkaamme ja siirrämme ne sitten. Global_move_x-muuttuja asetetaan 20 prosenttiin näytön leveydestä, jotta näemme liikkeen.

toiminto setupScreen () displayMain: insert (displayFirst); displayMain: lisätään (displaySecond); displayFirst: toFront (); displaySecond: toFront (); paikallinen tausta = display.newImage ("image1.png", 0,0); displayFirst: lisätään (tausta); paikallinen tausta = display.newImage ("image2.png", 0,0); displaySecond: lisätään (tausta); pää

SetupScreen-toiminto osoittaa, kuinka lisätä näyttöryhmiä päänäyttöryhmään. Käytämme myös toFront () -toimintoa erilaisten graafisten tasojen asettamiseen, sillä kerroksen haluamme olevan koko viimeisen ilmoitetun ajan.

Tässä esimerkissä ei ole todellakaan tarvetta siirtää näyttöä etusivun eteen, koska se on oletusarvoisesti näytön alapuolella. Toinen ryhmä, mutta on hyvä päästä tapaan, että jokaisen näyttöryhmän nimenomainen kerrostaminen tapahtuu. Suurin osa hankkeista päätyy yli kaksi kerrosta.

Olemme myös lisänneet kuvan kuhunkin ryhmään. Kun aloitamme sovelluksen, toisen kuvan pitäisi olla ensimmäisen kuvan päälle.

toiminto screenLayer () displayFirst: toFront (); pää

Olemme jo keränneet grafiikkamme näytönsekvenssiryhmän kanssa displayFirst-ryhmän yläpuolella. Tämä toiminto siirtää näyttöä etupuolelle.

funktio moveOne () displaySecond.x = displaySecond.x + global_move_x; pää

MoveOne-toiminto siirtää toista kuvaa oikealle 20% näytön leveydestä. Kun kutsumme tätä toimintoa, displaySecond-ryhmä on displayFirst-ryhmän takana.

toiminto moveTwo () displayMain.x = displayMain.x + global_move_x; pää

MoveTwo-toiminto siirtää molempia kuvia oikealle 20% näytön leveydestä. Kuitenkin, sen sijaan, että siirrettäisiin jokaista ryhmää erikseen, käytämme displayMain-ryhmää siirtääksesi ne samanaikaisesti. Tämä on erinomainen esimerkki siitä, kuinka näyttöryhmää, joka sisältää useita näyttöryhmiä, voidaan käyttää monien grafiikoiden käsittelyyn kerralla.

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

Tämä viimeinen koodin koodi osoittaa, mitä tapahtuu, kun suoritamme nämä toiminnot. Käytämme ajastinta.performWithDelay-toimintoa, jotta toiminnot sammutetaan joka toinen sekunti sovelluksen käynnistämisen jälkeen. Jos et tunne tätä toimintoa, ensimmäinen muuttuja on viivästysviive millisekunteina ilmaistuna ja toinen toiminto, jonka haluamme ajaa tämän viiveen jälkeen.

Kun käynnistät sovelluksen, sinun pitäisi olla image2.png image1.pngin yläpuolella. ScreenLayer-toiminto syttyy ja tuo image1.png eteen. MoveOne-toiminto siirtää image2.png ulos image1.png-kohdasta ja moveTwo-toiminto syttyy viimeiseksi, siirtämällä molemmat kuvat samanaikaisesti.

Kuinka jotta Fix Slow iPad

On tärkeää muistaa, että jokaisella näistä ryhmistä voi olla kymmeniä kuvia. Ja aivan kuten moveTwo-funktio siirsi molemmat kuvat yhdellä rivillä, kaikki ryhmän sisällä olevat kuvat ottavat ryhmälle annetut komennot.

Teknisesti DisplayMain-ryhmällä voi olla sekä näytössä olevia ryhmiä että kuvia. On kuitenkin hyvää käytäntöä, että jotkut ryhmät, kuten DisplayMain, toimivat kontteina muille ryhmille ilman kuvia, jotta voitaisiin luoda parempi organisaatio.

Tämä opetusohjelma käyttää näyttöobjektia. Lisätietoja näyttökohteesta.

Miten pääset alkuun iPad-sovellusten kehittäminen