Hogyan lehet rétegezni, mozgatni és a grafikákat előrébb hozni

A Corona SDK használata a grafika manipulálásához

A Corona SDK grafikus létrehozásának, manipulálásának és kezelésének kulcseleme a megjelenítési objektum. Nem csak ezt az objektumot használhatjuk egy kép fájlból való megjelenítéséhez, talán éppen annyira fontos, hogy lehetővé teszi a képek csoportosítását. Ez lehetővé teszi, hogy egyszerre egy egész grafikát mozgasson a képernyőn, és rétegbeli grafikát tetejére helyezve.

Ez a bemutató bemutatja a kijelzőcsoportok használatának alapjait a projekt grafikai objektumainak rendezéséhez. Ezt két különböző réteg létrehozásával lehet bemutatni, az egyik pedig a normál képernyőt, a másik a modális réteget jelenti, amely a tetejére kerül. A grafika rétegezése mellett az átmeneti objektumot is használjuk az egész modális csoport áthelyezésére.

Hogyan kell az alkalmazásodat piacra dobni?

Megjegyzés: Az alábbi bemutatóhoz való követéshez két képre van szüksége: image1.png és image2.png. Ezek lehetnek bármilyen kép, amelyet választ, de a bemutató jobban fog működni, ha kb. 100 képpontról 100 képpontról van szó. Ez lehetővé teszi, hogy könnyedén megnézzük, mi történik a képekkel.

Az induláshoz megnyitunk egy új fájlt: main.lua, és megkezdjük kódunk építését:

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

A kód ezen része felállítja az ui könyvtárat, és megjeleníti a megjelenítési csoportokon keresztül: displayMain, displayFirst és displaySecond. Ezeket használjuk a grafika első rétegére, majd mozgatni őket. A global_move_x változó a kijelző szélességének 20% -ára van állítva, így láthatjuk a mozgást.

function setupScreen () displayMain: insert (displayFirst); displayMain: insert (displaySecond); displayFirst: toFront (); displaySecond: toFront (); helyi háttér = display.newImage ("image1.png", 0,0); displayFirst: szúrja (háttér); helyi háttér = display.newImage ("image2.png", 0,0); displaySecond: szúrja (háttér); vég

A setupScreen funkció bemutatja, hogyan lehet megjelenítési csoportokat hozzáadni a fő kijelzőcsoporthoz. A toFront () függvénnyel a különböző grafikus rétegek beállítását is használjuk.

Ebben a példában nem feltétlenül szükséges a kijelző első elhelyezését elölről, mivel alapértelmezés szerint a második másodperc alatt jelenik meg, de célszerű az egyes megjelenítő csoportok réteg szerinti megkülönböztetése. A legtöbb projekt több mint két réteggel fog befejezni.

Mindegyik csoporthoz hozzáadtunk egy képet. Amikor elindítjuk az alkalmazást, a második képnek az első kép tetején kell lennie.

function screenLayer () kijelzőFirst: toFront (); vég

A grafikát a displayFirst csoport tetején helyeztük el a displaySecond csoporttal. Ezzel a funkcióval a displayFirst elöl mozog.

függvény moveOne () displaySecond.x = displaySecond.x + global_move_x; vég

A moveOne funkció a második képet jobbra húzza a képernyő szélességének 20% -ával. Amikor ezt a funkciót hívjuk, a displaySecond csoport a displayFirst csoport mögött lesz.

függvény moveTwo () displayMain.x = displayMain.x + global_move_x; vég

A moveTwo funkció a jobb oldali képeket a képernyő szélességének 20% -ával mozgatja. Azonban, ahelyett, hogy egyenként mozgatnánk az egyes csoportokat, a DisplayMain csoportot használjuk egyszerre mindegyikük mozgatására. Ez egy nagyszerű példa arra, hogy a több megjelenítő csoportot tartalmazó megjelenítő csoport egyszerre használható sok grafika kezeléséhez.

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

Ez a kód utolsó kódja mutatja meg, mi történik, amikor ezeket a funkciókat futtatjuk. A timer.performWithDelay funkció használatával a funkciókat másodpercenként kikapcsoljuk az alkalmazás indítása után. Ha nem ismeri ezt a funkciót, az első változó a milliszekundumban kifejezett késleltetés ideje, a második a késleltetés után futni kívánt függvény.

Amikor elindítja az alkalmazást, a image1.png tetején kell lennie image1.png. A screenLayer funkció tüzel, és a image1.png elé kerül. A moveOne funkció a image1.png-t az image1.png alatt mozogja, és a moveTwo funkció utolsó alkalommal lőni, egyszerre mozgatja a két képet.

Hogyan lehet megjavítani egy lassú iPad

Fontos megjegyezni, hogy mindegyik csoportban tucatnyi kép jelenhet meg bennük. És ahogy a moveTwo funkció mindkét képet egy sornyi kóddal mozgatta, a csoporton belüli összes kép veszi a csoporthoz tartozó parancsokat.

Technikailag a displayMain csoportban lehetnek mind a megjelenített csoportok, mind a benne lévő képek. Azonban jó gyakorlatnak számít, hogy egyes csoportok, mint például a DisplayMain, más csoportok számára konténerekként működjenek kép nélkül, hogy jobb szervezést hozzanak létre.

Ez a bemutató a megjelenítési objektumot használja. További információ a megjelenített objektumról.

Hogyan kezdjünk iPad-alkalmazások fejlesztése?