Kako da sloj, premestite i prenesete grafiku na napred

Korona Korona SDK za manipulaciju grafikom

Ključna komponenta kreiranja, manipulacije i upravljanja grafikom u Corona SDK-u je prikazni objekat. Ne samo da se ovaj objekt može koristiti za prikaz slike iz datoteke, možda isto tako važno, omogućava vam da zajedno grupisate svoje slike. Ovo vam omogućava da pomerite čitav niz grafika na ekranu istovremeno i sloj grafike na vrhu jedne od drugih.

Ovaj tutorijal će vas naučiti osnove korišćenja prikaznih grupa za organizovanje grafičkih objekata u vašem projektu. Ovo će se pokazati stvaranjem dva različita sloja, jedan koji predstavlja normalan ekran, a drugi predstavlja modalni sloj koji se nalazi na vrhu. Osim postavljanja grafike, takođe ćemo koristiti objekat tranzicije da pomerimo celu modalnu grupu.

Kako prodavati aplikaciju

Napomena: Da biste pratili ovaj tutorial, biće vam potrebne dve slike: image1.png i image2.png. To mogu biti sve slike koje izaberete, ali tutorial će raditi najbolje ako imate slike oko 100 piksela po 100 piksela. Ovo će vam omogućiti da lako vidite šta se dešava sa slikama.

Da započnemo, otvorićemo novu datoteku pod nazivom main.lua i početi izgradnju našeg koda:

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

Ovaj deo koda postavlja našu biblioteku ui i prikazuje kroz grupe prikaza: displayMain, displayFirst i displaySecond. Koristićemo ove da prvo slojemo našu grafiku i onda ih premestimo. Global_move_x promenljiva je postavljena na 20% širine prikaza, tako da možemo videti pokret.

funkcija setupScreen () displayMain: insert (displayFirst); displayMain: insert (displaySecond); displayFirst: toFront (); displaySecond: toFront (); lokalna pozadina = display.newImage ("image1.png", 0,0); displayFirst: umetanje (pozadina); lokalna pozadina = display.newImage ("image2.png", 0,0); displaySecond: umetanje (pozadina); kraj

Funkcija setupScreen pokazuje kako dodati grupe ekrana u glavnu grupu ekrana. Takođe koristimo funkciju toFront () da podesite različite grafičke slojeve, sa slojem koji želimo na vrhu sve vrijeme deklarisano poslednje.

U ovom primjeru zaista nije potrebno premještati displayFirst na front jer će podrazumijevati da je ispod ekrana displaySecond, ali je dobro navići na eksplicitno slojevanje svake grupe ekrana. Većina projekata će završiti sa više od dva sloja.

Takođe smo dodali sliku svakoj grupi. Kada pokrenemo aplikaciju, druga slika bi trebalo da bude na vrhu prve slike.

funkcija screenLayer () displayFirst: toFront (); kraj

Već smo slojevili grafiku sa displaySecond grupom na vrhu displej prve grupe. Ova funkcija će premestiti displej prvi na prednju stranu.

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

Funkcija moveOne će pomeriti drugu sliku na desno za 20% širine ekrana. Kad imenujemo ovu funkciju, ekipa DisplaySecond će biti iza grupe DisplayFirst.

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

Funkcija moveTwo pomjeriće obe slike na desno za 20% širine ekrana. Međutim, umjesto da svaku grupu pojedinačno pomerate, koristićemo displayMain grupu da ih istovremeno premjestimo. Ovo je odličan primer kako grupa prikaza koja sadrži više grupa prikaza može da se koristi za manipulaciju mnogim grafikama odjednom.

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

Ovaj zadnji kod pokazuje šta se događa kada pokrenemo ove funkcije. Koristićemo funkciju timer.performWithDelay za otkazivanje funkcija svake sekunde nakon pokretanja aplikacije. Ako niste upoznati sa ovom funkcijom, prva varijabla je vrijeme za kašnjenje izraženo u milisekundama, a drugo je funkcija koju želimo pokrenuti nakon tog kašnjenja.

Kada pokrenete aplikaciju, trebalo bi da imate image2.png na vrhu image1.png. Funkcija screenLayer će zapaliti i dovesti sliku1.png na prednju stranu. Funkcija moveOne će premestiti image2.png iz slike under image1.png, a funkcija moveTwo će se vratiti u zadnje vrijeme, istovremeno pomerati obe slike.

Kako popraviti spor iPad

Važno je zapamtiti da svaka od ovih grupa može imati desetine slika u njima. I baš kao što je funkcija moveTwo pomerala obe slike sa jednom linijom koda, sve slike u grupi će uzimati naredbe koje su date grupi.

Tehnički, grupa DisplayMain može imati grupe prikaza i slike sadržane u njemu. Međutim, dobra je praksa da neke grupe poput DisplayMain-a djeluju kao kontejneri za druge grupe bez ikakvih slika kako bi stvorili bolju organizaciju.

Ovaj tutorijal koristi objekat prikaza. Saznajte više o prikaznom objektu.

Kako početi Razvoj iPad Apps