Nola geruzatu, mugitu eta ekarri grafikoak aurrean

Corona SDK erabiltzea grafikoak manipulatzea

Corona SDK-en grafikoak sortzeko, manipulatzeko eta kudeatzeko funtsezko osagaiak pantailako objektua da. Objektu hau ezin da fitxategi batetik irudia bistaratu, agian garrantzitsuagoa dena, zure irudiak elkarrekin elkartu ahal izateko. Honek pantailan zehar grafiko multzo oso bat mugitzen uzten dizu eta bata bestearen gainean dauden geruza grafikoak.

Tutorial honek pantailako taldeak erabiltzeko oinarriak erakutsiko dizkizu zure proiektuko objektu grafikoak antolatzeko. Bi geruza desberdinak sortuko dira, bata pantailako normal bat irudikatuz eta bestea geruza modular bat irudikatuz. Grafikoak antolatzea gain, trantsizio objektua ere erabiliko dugu modal talde osoa mugitzeko.

Nola merkaturatu zure aplikazioa

Oharra: Tutorial honekin batera jarraitu ahal izateko, bi irudi behar dituzu: image1.png eta image2.png. Aukeratutako edozein irudi izan daiteke, baina tutoretza onena izango da 100 pixeleko eta 100 pixeleko irudiak badaude. Honek irudiak zer gertatzen den erraz ikusiko dizu.

Hasteko, "main.lua" izeneko fitxategi berri bat irekiko dugu eta gure kodea eraikitzen hasiko gara:

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

Kodearen atal honek gure liburutegiaren konfigurazioak ezartzen ditu eta pantailako taldeen bidez adierazten du: displayMain, displayFirst eta displaySecond. Horiek erabili ditugu lehenengo geruza gure grafikoak eta gero horiek mugitu. Global_move_x aldagaia pantailaren zabaleraren% 20 da, beraz mugimendua ikus dezakegu.

funtzioaren konfigurazioaScreen () displayMain: insert (displayFirst); displayMain: txertatzeko (displaySecond); displayFirst: toFront (); displaySecond: toFront (); local background = display.newImage ("image1.png", 0,0); displayFirst: txertatzeko (atzealde); local background = display.newImage ("image2.png", 0.0); displaySecond: txertatzeko (atzealde); end

Konfigurazioko pantaila-funtzioak bistaratze-taldeak pantailako talde nagusira gehitzeko erakusten du. FrontFor () funtzioa ere erabiltzen dugu geruza grafiko ezberdinak konfiguratzeko, goian aipatu dugun geruza batez azken deklaratutako denbora guztian.

Adibide honetan, ez da benetan behar lehendabiziko pantaila mugitzeko, pantailaren azpian egongo den beheko aldean egoteko lehenetsia izango delako, baina bistaratze talde bakoitzari modu esplizituan azaltzea komeni da. Proiektu gehienak bi geruza baino gehiago izango dituzte.

Era berean, irudi bat gehitu dugu taldera. Aplikazioa martxan dugunean, bigarren irudia lehen irudian egon beharko luke.

funtzioaren pantailaLibre () displayFirst: toFront (); end

Dagoeneko, gure grafikoak bistaratu ditugu Bigarren taldearen pantailaren goialdean. Funtzio hau Lehenengo pantaila mugituko da.

funtzioaren mugimenduaOne () displaySecond.x = displaySecond.x + global_move_x; end

MugituOne funtzioak bigarren irudia eskuinera mugituko du pantailaren zabaleraren% 20. Funtzio hau deitzen dugunean, pantailaSekaldea taldea pantailan agertuko da Lehenengo taldea.

funtzio mugituTwo () displayMain.x = displayMain.x + global_move_x; end

MugimenduaTwo funtzioak bi irudiak eskuinera mugituko ditu pantailaren zabaleraren% 20. Hala ere, talde bakoitzak banaka banatu ordez, displayMain taldea erabiliko dugu aldi berean mugitzeko. Bistaratze talde bat baino gehiagoko pantailako talde batek grafiko asko manipulatu ahal izateko erabil daitekeen adibide bikaina da hau.

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

Azken kode bit hori frogatzen du zer gertatzen den funtzio horiek exekutatzen ari garenean. Timer.performWithDelay funtzioa erabiliko dugu bigarrenean funtzioak desaktibatzeko, aplikazioa abiarazi ondoren. Funtzio honekin ez bazara, lehenengo aldagaia milisegundotan adierazitako atzerapena da eta bigarrena atzerapenaren ondoren exekutatu nahi dugun funtzioa da.

Aplikazioa abiarazten duzunean image2.png irudi1.png gainean egon beharko zenuke. PantailaLiburuen funtzioak frontearen aurrean irudia eta irudia ekarriko ditu. MugimenduaOne funtzioak image2.png irudi1.png azpian mugituko du eta moveTwo funtzioak azkeneko suarekin egingo du, eta aldi berean bi irudiak mugituko ditu.

Nola konpondu Slow iPad?

Gogoan izan talde horietako bakoitzak bere irudien dozenaka izan ditzakeela. Mugimendua bezain mugimendua bi irudiak kodearen lerro bakarrean mugitu zirenean, taldeko irudi guztiek taldeari emandako komandoak hartuko dituzte.

Teknikoki, displayMain taldeek bistaratze-taldeak eta irudiak izan ditzakete. Hala eta guztiz ere, bistakoa da talde batzuk erakustea bezalako taldeak erakustea, beste taldeentzako edukiontzi gisa jardutea, inolako irudirik gabe, erakunde hobea sortzeko.

Tutorial honek pantailako objektua erabiltzen du. Argibide gehiago bistaratze objektuari buruz.

Nola hasi iPad aplikazioak garatzen