Қалай Layer, жылжыту және графиктерді алдыңғы жаққа әкелу

Графикті басқару үшін Corona SDK пайдалану

Corona SDK-дегі графиканы құру, басқару және басқарудың негізгі компоненті - бұл бейнебет. Бұл нысанды файлдан суретті көрсету үшін ғана емес, ең маңыздысы, суреттерді бірге топтастыруға мүмкіндік береді. Бұл экрандағы графиканың бүкіл жиынтығын бірден жылжытуға және бір-бірінің үстіне графиктерді қабаттауға мүмкіндік береді.

Бұл оқулық сіздің жобаңыздағы графикалық объектілерді ұйымдастыру үшін көрсету топтарын пайдаланудың негіздерін үйретеді. Бұл екі түрлі қабатты құру арқылы көрсетіледі, олардың біреуі қалыпты экранды бейнелейді, ал басқалары модальды қабаттың үстіне орналастырылады. Графикті қабаттауға қосымша, біз барлық модальды топты жылжыту үшін өтпелі нысанды қолданамыз.

Қолданбаңызды қалай сатуға болады

Ескерту: Осы оқулықты ұстану үшін сізге екі сурет қажет: image1.png және image2.png. Бұл сіз таңдаған кез келген кескіндер болуы мүмкін, бірақ 100 пикселге дейін 100 пикселге дейінгі суреттеріңіз болса, оқу құралы жақсы жұмыс істейді. Бұл бейнелерге не болып жатқанын оңай көруге мүмкіндік береді.

Бастау үшін, main.lua деп аталатын жаңа файлды ашып, біздің коды құруға кірісеміз:

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

Бұл бөлімде ui кітапханасы орнатылады және дисплей топтары арқылы көрсетіледі: displayMain, displayFirst және displaySecond. Біз оларды графиктің бірінші қабатын пайдаланамыз, содан кейін оларды жылжытамыз. Айнымалы global_move_x дисплейдің енінің 20% -на орнатылады, осылайша қозғалысты көре аламыз.

function setupScreen () displayMain: кірістіру (displayFirst); displayMain: кірістіру (displaySecond); displayFirst: toFront (); displaySecond: toFront (); жергілікті фон = display.newImage («image1.png», 0,0); displayFirst: кірістіру (фон); жергілікті фон = display.newImage («image2.png», 0,0); displaySecond: кірістіру (фон); Соңы

SetupScreen функциясы негізгі көрсету тобына көрсету топтарын қосу жолын көрсетеді. Біз сондай-ақ, әртүрлі графикалық қабаттарды орнату үшін toFront () функциясын қолданамыз, біз соңғы рет жарияланған барлық уақытта жоғары деңгейде қалаймыз.

Бұл мысалда displayFirst-ті алдыңғы жағына жылжытудың қажеті жоқ, себебі әдепкі бойынша displaySecond тобынан төмен болуы әбден болады, бірақ әр дисплей тобын нақты қабаттауды әдетке айналдыру жақсы. Жобалардың көпшілігі екіден астам қабатпен аяқталады.

Біз әр топқа сурет қостық. Қолданбаны бастаған кезде, екінші сурет бірінші кескіннің жоғарғы жағында болуы керек.

функциясы screenLayer () displayFirst: toFront (); Соңы

Дисплестің бірінші тобында графиканы displaySecond тобымен бірге орналастырдық. Бұл функция displayFirst-ді алдыға жылжытады.

функциясы moveOne () displaySecond.x = displaySecond.x + global_move_x; Соңы

MoveOne функциясы екінші кескінді экран енін 20% -ға оң жаққа жылжытады. Бұл функцияны шақырғанда displaySecond тобы displayFirst тобына кіреді.

функциясы moveTwo () displayMain.x = displayMain.x + global_move_x; Соңы

Жылжыту функциясы екі кескінді экранның енін 20% -ға оң жаққа жылжытады. Дегенмен, әрбір топты жеке-жеке жылжытудың орнына, біз бір мезгілде екеуін де жылжыту үшін displayMain тобын қолданамыз. Бұл бірнеше дисплей топтарын қамтитын дисплей тобын бірнеше графиканы бірден басқаруға болатындығына керемет мысал.

setupScreen (); timer.performWithDelay (1000, скриншотер); timer.performWithDelay (2000, moveOne); timer.performWithDelay (3000, moveTwo);

Бұл кодтың соңғы биті осы функцияларды іске қосқанда не болатынын көрсетеді. Қолданбаны іске қосқаннан кейін әр секундтан кейін функцияларды өшіру үшін timer.performWithDelay функциясын қолданамыз. Егер сіз осы функцияны білмесеңіз, бірінші айнымалы миллисекундпен көрсетілген кешігу уақыты, екіншісі - бұл кешіктіруден кейін іске қосылатын функция.

Қолданбаны іске қосқан кезде image1.png файлының жоғарғы жағында сурет болуы керек. ScreenLayer функциясы өртеніп, image1.png файлын алдыңғы жағына шығарады. MoveOne функциясы image1.png файлынан image2.png файлын жылжытады және жылжытуTwo функциясы бір мезгілде екі кескінді жылжытады.

Баяу iPad-ды қалай түзетуге болады

Бұл топтардың әрқайсысында ондаған бейнелер болуы мүмкін екендігін есте ұстаған жөн. Жылжыту функциясы екі кескінді кодтардың бір жолымен жылжытқан сияқты, топтағы барлық суреттер топқа берілген командаларды қабылдайды.

Техникалық тұрғыдан, displayMain тобында дисплей топтары мен ішіндегі суреттер болуы мүмкін. Дегенмен, кейбір топтар көрнекі түрде басқа ұйымдарға контейнерлік контейнерлер ретінде әрекет етуі жақсы ұйымдастыруды жасаудың жақсы тәжірибесі.

Бұл нұсқаулық дисплей объектісін қолданады. Көрсету нысаны туралы көбірек біліңіз.

Жұмысты бастау әдісі. IPad Apps әзірлеу