Kaip sluoksnis, perkelti ir grąžinti grafiką į priekį

"Corona SDK" naudojimas manipuliuoti grafika

Pagrindinis elementas kuriant, manipuliuojant ir valdant grafiką "Corona SDK" yra ekrano objektas. Šis objektas ne tik gali būti naudojamas rodyti vaizdą iš failo, galbūt taip pat svarbu, jis leidžia sugrupuoti vaizdus kartu. Tai leidžia perkelti visą ekrano grafiką iš karto ir sluoksnių grafiką ant viena kitos.

Šioje pamokoje bus išmokyti ekrano grupių naudojimo pagrindai organizuoti grafinius objektus jūsų projekte. Tai bus įrodyta sukuriant du skirtingus sluoksnius: vieną - normalųjį ekraną, o kitą - modalinį sluoksnį. Be to, kad išdėstyti grafiką, mes taip pat naudosime perėjimo objektą, kad galėtume perkelti visą modalinę grupę.

Kaip parduoti savo programą

Pastaba: norint sekti kartu su šia mokymo programa, reikės dviejų vaizdų: image1.png ir image2.png. Tai gali būti bet kokie atvaizdai, kuriuos pasirinkote, tačiau pamoka veiks geriausiai, jei turite vaizdus maždaug 100 pikselių 100 pikselių. Tai leis lengvai suprasti, kas vyksta su vaizdais.

Norėdami pradėti, atidarome naują failą, pavadintą main.lua, ir pradėkite kurti kodą:

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

Šis kodo skyrius nustato mūsų "ui" biblioteką ir deklaruoja per rodymo grupes: displayMain, displayFirst ir displaySecond. Mes panaudosime šias pirmas sluoksnius savo grafikai ir tada perkelsime juos. Universal_move_x kintamasis nustatytas 20% ekrano pločio, kad galėtume matyti judesį.

funkcijos setupScreen () displayMain: įterpti (rodyti Pirmiausia); displayMain: įterpti (rodyti sekundę); displayFirst: toFront (); displaySecond: toFront (); vietinis fonas = ekranas.newImage ("image1.png", 0,0); displayFirst: insert (background); vietinis fonas = display.newImage ("image2.png", 0,0); displaySecond: įterpti (fonas); galas

"SetupScreen" funkcija parodo, kaip pridėti ekranų grupes pagrindinei ekrano grupei. Mes taip pat naudojame funkciją toFront (), kad nustatytume skirtingus grafinius sluoksnius, o sluoksnis, kurį mes norime, viršys visą laiką, apie kurį pranešta paskutinį kartą.

Šiame pavyzdyje tikrai nereikia perkelti ekrano Pirmiausia į priekį, nes pagal numatytuosius nustatymus jis bus mažesnis už ekrano sekundžių grupę, tačiau gerai įeiti į įprotį aiškiai išdėstyti kiekvieną rodymo grupę. Daugumoje projektų bus daugiau nei du sluoksniai.

Mes taip pat pridėjome kiekvienos grupės paveikslėlį. Kai paleisime programą, antrasis paveikslėlis turi būti ant pirmojo vaizdo.

funkcija displayLayer () displayFirst: toFront (); galas

Mes jau sluoksniavome savo grafiką naudodami DisplaySecond grupę "DisplayFirst" grupės viršuje. Ši funkcija perkelia vaizdą pirmiausia į priekį.

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

"MoveOne" funkcija nukelia antrą vaizdą į dešinę 20% ekrano pločio. Kai mes vadiname šią funkciją, displaySecond grupė bus už displayFirst grupės.

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

"MoveTwo" funkcija perkelia abu vaizdus į dešinę iki 20% ekrano pločio. Tačiau vietoj kiekvienos grupės perkėlimo individualiai, mes naudosime "DisplayMain" grupę, kad galėtume juos vienu metu perkelti. Tai yra puikus pavyzdys, kaip rodymo grupę, kurioje yra kelios vaizdo grupes, galima vienu metu manipuliuoti daugybe grafinių vaizdų.

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

Šis paskutinis bitų kodas parodo, kas atsitinka, kai mes paleisime šias funkcijas. Mes panaudosime funkciją timer.performWithDelay, kad po kiekvienos sekundės paleidžiant programą paleistume funkcijas. Jei nesate susipažinę su šia funkcija, pirmasis kintamasis yra laikas, per kurį vėluojama išreikšti milisekundėmis, o antrasis - tai funkcija, kurią mes norime paleisti po to, kai vėluojama.

Kai paleisite programą, turėtumėte turėti vaizdą2.png virš vaizdo1.png. Ekrano sluoksnio funkcija užsidegs ir parodys vaizdą1.png į priekį. "MoveOne" funkcija perkelia image2.png iš po image1.png, o funkcija moveTwo užsidegs paskutinę, tuo pačiu metu perkeliant abu atvaizdus.

Kaip nustatyti lėtą iPad

Svarbu prisiminti, kad kiekviena iš šių grupių gali turėti dešimtys vaizdų. Ir kaip judesio funkcija perkelia abu vaizdus į vieną kodo eilutę, visi paveikslėliai grupės viduje perduoda komandas, suteiktas grupei.

Techniškai DisplayMain grupėje gali būti tiek vaizdo grupių, tiek vaizdų. Tačiau yra gera praktika leisti kai kurioms grupėms, pavyzdžiui, "DisplayMain", veikti kaip konteinerius kitoms grupėms be jokių vaizdų, kad būtų sukurta geresnė organizacija.

Šiame vadovėlyje naudojamas ekrano objektas. Sužinokite daugiau apie ekrano objektą.

Kaip pradėti "iPad Apps" kūrimą