Ինչպես շերտ, տեղափոխել եւ բերել գրաֆիկա դեպի ճակատ

Օգտագործելով 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 () գործառույթը `տարբեր գրաֆիկական շերտեր ստեղծելու համար, այն շերտը, որով մենք ուզում ենք, վերջին անգամ հայտարարում է վերջինը:

Այս օրինակում, այնուամենայնիվ, անհրաժեշտ չէ տեղափոխել ցուցափեղկը, առաջին հերթին այն ճակատին, քանի որ այն լռելյայն է լինելու էկրանի ստորին մասում, բայց լավ է հասկանալ յուրաքանչյուր ցուցադրական խմբին հստակորեն դասավորելու սովորություն: Շատ նախագծեր կավարտվեն ավելի քան երկու շերտով:

Մենք նաեւ ավելացրեցինք յուրաքանչյուր խմբի համար: Երբ մենք սկսում ենք հավելվածը, երկրորդ պատկերը պետք է լինի առաջին պատկերը վերեւում:

ֆունկցիայի էկրանին Layer () displayFirst: toFront (); վերջ

Մենք արդեն գրաֆիկի վրա ենք դրսեւորել ցուցադրական խմբում `Ցուցադրման առաջին խմբում: Այս ֆունկցիան կտեղափոխվի DisplayFirst դեպի ճակատ:

գործառույթը moveOne () displaySecond.x = displaySecond.x + global_move_x; վերջ

The moveOne գործառույթը կցուցադրի երկրորդ պատկերն աջ կողմում `էկրանի լայնության 20% -ով: Երբ մենք կոչում ենք այս գործառույթը, ցուցադրական երկրորդ խումբը կլինի առաջին ցուցադրման ետեւում:

function moveTwo () displayMain.x = displayMain.x + global_move_x; վերջ

Տեղափոխման երկու գործառույթը կտեղափոխի երկու պատկերները աջ կողմում `էկրանի լայնության 20% -ով: Այնուամենայնիվ, յուրաքանչյուր խմբին անհատապես տեղափոխելու փոխարեն, մենք կօգտագործենք DisplayMain խումբը `դրանք միաժամանակ տեղափոխելու համար: Սա մեծ օրինակ է, թե ինչպես ցուցադրական խումբը, որը պարունակում է բազմաթիվ ցուցադրական խմբակներ, կարող է օգտագործվել միանգամից բազմաթիվ գրաֆիկայի շահարկումների համար:

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

Այս վերջին կոդը ցույց է տալիս, թե ինչ է տեղի ունենում, երբ մենք գործարկում ենք այդ գործառույթները: Մենք կօգտագործենք timer.performWithDelay ֆունկցիան, գործարկման մեկնարկից հետո յուրաքանչյուր վայրկյան գործառույթները հրդեհելու համար: Եթե ​​դուք անծանոթ եք այս գործառույթին, ապա առաջին փոփոխականն այն ժամանակահատվածն է, որը արտահայտված է միլիազեկյան արտահայտությամբ, երկրորդը, այն գործառույթը, որը մենք ցանկանում ենք առաջադրել այդ ուշացումից հետո:

Ծրագիրը գործարկելիս դուք պետք է image1.png վերեւում image1.png վերեւում: The ScreenLayer գործառույթը կթողնի եւ բերել image1.png ճակատին: The moveOne գործառույթը կտեղափոխվի image2.png ներքեւ image1.png, եւ շարժումը Twin գործառույթը կրակ է վերջին, տեղափոխելով երկու պատկերները միաժամանակ:

Ինչպես շտկել iPad- ն

Կարեւոր է հիշել, որ այդ խմբերի յուրաքանչյուրը կարող էր ունենալ տասնյակ պատկերներ: Եվ ճիշտ այնպես, ինչպես տեղափոխվելը գործառույթը տեղափոխում է երկու պատկերները կոդի մեկ տողով, խմբի բոլոր պատկերները կվերցնեն խմբին տրված հրամանները:

Տեխնիկապես, DisplayMain խումբը կարող է ունենալ ցուցադրական խմբեր եւ պատկերներ, որոնք պարունակվում են դրա մեջ: Այնուամենայնիվ, լավ պրակտիկա է թույլ տալու որոշ խմբեր, որոնք ցուցադրվում են Մարմնին որպես այլ կազմակերպությունների համար բեռնարկղեր, առանց որեւէ պատկերների, ավելի լավ կազմակերպություն ստեղծելու համար:

Այս ձեռնարկը օգտագործում է ցուցադրման օբյեկտը: Իմացեք ավելին ցուցադրման օբյեկտի մասին:

Ինչպես սկսել Սկսել iPad հավելվածների զարգացումը