Како да слој, преместите и пренесете графику на предњу страну

Корона СДК Корона за манипулисање графиком

Кључна компонента креирања, манипулације и управљања графиком у Цорона СДК-у је приказни објекат. Не само да се овај објекат може користити за приказ слике из датотеке, можда исто тако важно, омогућава вам да заједно групишете своје слике. Ово вам омогућава да померите читав низ графика на екрану истовремено и слој графике један на други.

Овај туторијал ће вас научити основе коришћења приказних група за организовање графичких објеката у вашем пројекту. Ово ће се показати стварањем два различита слоја, један који представља нормалан екран, а други представља модални слој који се налази изнад њега. Осим постављања графике, такође ћемо користити објекат транзиције да померимо целу модалну групу.

Како продавати апликацију

Напомена: Да бисте пратили овај водич, требат ће вам двије слике: имаге1.пнг и имаге2.пнг. То могу бити све слике које изаберете, али туторијал ће најбоље функционирати ако имате слике око 100 пиксела по 100 пиксела. Ово ће вам омогућити да лако видите шта се дешава са сликама.

Да започнемо, отворићемо нову датотеку под називом маин.луа и почети с изградњом нашег кода:

дисплаиМаин = дисплаи.невГроуп (); дисплаиФирст = дисплаи.невГроуп (); дисплаиСецонд = дисплаи.невГроуп (); глобал_мове_к = дисплаи.цонтентВидтх / 5;

Овај део кода поставља нашу библиотеку уи и декларише кроз групе приказа: дисплаиМаин, дисплаиФирст и дисплаиСецонд. Користићемо их да прво слојемо графику и онда их преместимо. Глобал_мове_к променљива је постављена на 20% ширине приказа, тако да можемо видети покрет.

функција сетупСцреен () дисплаиМаин: инсерт (дисплаиФирст); дисплаиМаин: инсерт (дисплаиСецонд); дисплаиФирст: тоФронт (); дисплаиСецонд: тоФронт (); лоцал бацкгроунд = дисплаи.невИмаге ("имаге1.пнг", 0,0); дисплаиФирст: инсерт (позадина); лоцал бацкгроунд = дисплаи.невИмаге ("имаге2.пнг", 0,0); дисплаиСецонд: уметање (позадина); крај

Функција сетупСцреен показује како додати групе приказа у главну групу екрана. Такође користимо функцију тоФронт () да подесите различите графичке слојеве, са слојем који желимо на врху у последње време.

У овом примјеру заиста није потребно премјештати дисплаиФирст на фронт јер ће подразумијевати да је испод екрана дисплаиСецонд, али је добро навићи навику да експлицитно слојевите сваку групу екрана. Већина пројеката ће завршити са више од два слоја.

Такође смо додали слику свакој групи. Када покренемо апликацију, друга слика би требало да буде на врху прве слике.

функција сцреенЛаиер () дисплаиФирст: тоФронт (); крај

Већ смо слојевили графику са дисплаиСецонд групом на врху групе дисплаиФирст. Ова функција ће преместити дисплеј први на предњу страну.

функција мовеОне () дисплаиСецонд.к = дисплаиСецонд.к + глобал_мове_к; крај

Функција мовеОне ће померити другу слику десно за 20% ширине екрана. Кад именујемо ову функцију, екипа ДисплаиСецонд ће бити иза групе ДисплаиФирст.

функција мовеТво () дисплаиМаин.к = дисплаиМаин.к + глобал_мове_к; крај

Функција мовеТво ће померити обе слике на десно за 20% ширине екрана. Међутим, умјесто да сваку групу појединачно померате, користићемо ДисплаиМаин групу да их истовремено померате. Ово је сјајан пример како група приказа која садржи више група приказа може да се користи за манипулацију многим графикама одједном.

сетупСцреен (); тимер.перформВитхДелаи (1000, сцреенЛаиер); тимер.перформВитхДелаи (2000, мовеОне); тимер.перформВитхДелаи (3000, мовеТво);

Овај последњи битни код показује шта се догађа када покренемо ове функције. Користићемо функцију тимер.перформВитхДелаи за отказивање функција сваке секунде након покретања апликације. Ако нисте упознати са овом функцијом, прва варијабла је вријеме за кашњење изражено у милисекундама, а друга функција коју желимо покренути након тог кашњења.

Када покренете апликацију, требало би да имате имаге2.пнг на врху имаге1.пнг. Функција сцреенЛаиер ће запалити и довести слику1.пнг на предњу страну. Функција мовеОне ће преместити имаге2.пнг из слике ундер имаге1.пнг, а функција мовеТво ће се вратити у задње вријеме, истовремено померати обе слике.

Како поправити спор иПад

Важно је запамтити да свака од ових група може имати десетине слика у њима. И баш као што је функција мовеТво померала обе слике са једном линијом кода, све слике у групи ће узимати наредбе које су дате групи.

Технички гледано, ДисплаиМаин група може имати групе приказа и слике садржане у њему. Међутим, добра је пракса да неке групе попут ДисплаиМаин-а дјелују као контејнери за друге групе без икаквих слика како би створили бољу организацију.

Овај туторијал користи објекат приказа. Сазнајте више о приказном објекту.

Како да почнемо Развити иПад Аппс