Кантип кабат, жылдыруу жана сүрөттөр үчүн алдыга алып

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% га чейин белгиленет.

милдети 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 () акыркы жарыяланган убакта бардык үстүнө келет катмары менен, ар кандай көркөм катмарларды түзүү үчүн тийиши мүмкүн.

Бул мисалда, ал чындап эле displaySecond топ төмөн болгон демейки маани-жылдан бери сахнага displayFirst түрткү кереги жок, бирок, ал ачык, ар бир дисплей топ катмардуулук адатка айландырып алышат жакшы. Долбоорлордун көпчүлүгү эки катмардан менен аяктайт.

Ошондой эле, биз ар бир топ үчүн сүрөттү коштук. Биз колдонмосун иштеткенде, экинчи сөлөкөтү алгач сүрөттүн үстүнө болушу керек.

иштеши screenLayer () displayFirst: toFront (); Бир мезгилдин акырына карата

Биз буга чейин displayFirst топтун үстүнө displaySecond тобу менен биздин сүрөттөрү катмардуу койдук. Бул милдети алдына displayFirst түрткү берет.

милдети moveOne () displaySecond.x = displaySecond.x + global_move_x; Бир мезгилдин акырына карата

moveOne милдети экран туурасы 20% га укугу экинчи сүрөт түрткү берет. Бул милдетти чакырганда, displaySecond тобу displayFirst топ артта калат.

иштеши moveTwo () displayMain.x = displayMain.x + global_move_x; Бир мезгилдин акырына карата

moveTwo милдети экран туурасы 20% га укугу да сүрөттөрдү түрткү берет. Бирок, ар бир топ жылып, биз ошол эле учурда, аларга да көчүп displayMain топту колдонобуз. Бул бир нече дисплей топторду камтыган дисплей топтун бир эле учурда көп диаграммаларды башкаруу үчүн колдонсо болот, кантип бир мисалы болуп саналат.

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

кодексинин Бул акыркы аз, бул иш-милдеттерди чуркап эмне көрсөтүп турат. Биз колдонмо кийин ар бир экинчи баштады милдеттерди чечип атууга timer.performWithDelay милдетин колдонобуз. Эгер бул иш менен тааныш эмес болсо, анда биринчи өзгөрүлмө миллисекунд айтылган кечиктирүү убактысы жана экинчи биз кечиктирип чуркап келет милдети болуп саналат.

колдонмону ишке киргизүү, сиз image1.png үстүнө image2.png болушу керек. screenLayer милдети От менен сахнага image1.png алып келет. moveOne милдети image1.png астынан image2.png чыгып түрткү берет жана moveTwo милдети ошол эле учурда эки сүрөттөрдү жылып, акыркы от болот.

Кантип Slow кокус Fix үчүн

Бул топтордун ар бири аларга сүрөттөр ондогон болушу мүмкүн экенин эстен чыгарбаганыбыз маанилүү. Ошондо moveTwo милдети кодексинин бир катар эки сүрөттөлүштөрдү көчүп эле, топтун бардык сүрөттөр тобуна берилген буйруктарды кабыл алат.

Негизи, displayMain топ ичинде камтылган эки дисплей топторду жана сүрөттөрдү болушу мүмкүн. Ошентсе да, ал жакшы уюмун түзүү үчүн ар кандай сүрөттөрдүн башка топтору үчүн контейнерлер сыяктуу displayMain актынын сыяктуу кээ бир топторду коё жакшы практика болуп саналат.

Бул окуу куралы дисплей объектисин пайдалануу түзөт. Дисплей объект тууралуу көбүрөөк билүү.

Кантип Галактика колдонмолорун иштеп баштоо керек