Როგორ შრე, გადატანა და შემოტანა გრაფიკა წინა

გამოყენებით Corona SDK მანიპულირება გრაფიკა

კორონა 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 and displaySecond. ჩვენ ვიყენებთ ამ პირველ ფენა ჩვენი გრაფიკა და შემდეგ გადაადგილება მათ. Global_move_x ცვლადი დგინდება ეკრანის სიგანე 20% -ზე, ამიტომ ჩვენ ვხედავთ მოძრაობას.

ფუნქცია setupScreen () ჩვენებამრავალი: ჩასმა (ჩვენება FIRST); displayMain: ჩასმა (displaySecond); displayFirst: toFront (); displaySecond: toFront (); ადგილობრივი ფონი = display.newImage ("image1.png", 0,0); displayFirst: ჩადეთ (ფონზე); ადგილობრივი ფონი = display.newImage ("image2.png", 0,0); displaySecond: ჩასმა (ფონზე); დასასრული

SetupScreen ფუნქცია აჩვენებს თუ როგორ უნდა დაამატოთ დისპლეი ჯგუფები მთავარ ჩვენების ჯგუფში. ჩვენ ასევე ვიყენებთ toFront () ფუნქციას, რათა შეიქმნას სხვადასხვა გრაფიკული ფენები, ფენით ჩვენ გვინდა თავზე ბოლოს ყველა გამოცხადებული.

ამ მაგალითში, ნამდვილად არ არის საჭირო, რომ გადაინაცვლოს displayFirst to წინა რადგან ეს იქნება ნაგულისხმევი ყოფნის displaySecond ჯგუფი, მაგრამ კარგია შეღწევას ჩვევა მკაფიოდ layering თითოეული ჩვენება ჯგუფი. პროექტების უმეტესობა ორ ფენაზე მეტია.

ჩვენ ასევე დაამატეთ გამოსახულება თითოეულ ჯგუფს. როდესაც ჩვენ ვიწყებთ app, მეორე სურათი უნდა იყოს თავზე პირველი გამოსახულება.

ფუნქცია ეკრანზელაიერის () ჩვენებაპირველი: toFront (); დასასრული

ჩვენ უკვე დავამუშავეთ გრაფიკა ეკრანის მეორე მხარესთან ერთად. ეს ფუნქცია გადაინაცვლებს displayFirst to წინა.

ფუნქცია moveOne () displaySecond.x = displaySecond.x + global_move_x; დასასრული

ნაბიჯი One ფუნქცია გადავა მეორე გამოსახულება მარჯვნივ 20% ეკრანის სიგანეზე. როდესაც ჩვენ ვუწოდებთ ამ ფუნქციას, displaySecond ჯგუფი იქნება ნაჩვენები displayFirst ჯგუფი.

ფუნქცია 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 ფუნქცია ცეცხლსასროლი off ფუნქციების ყოველი მეორე შემდეგ app დაიწყო. თუ ამ ფუნქციასთან იცნობთ, პირველი ცვლადი არის დრო, რომ გამოვყოთ მილიწამებში და მეორე არის ფუნქცია, რომელიც დაგვჭირდება დაგვიანებით.

აპლიკაციის დაწყებისას, უნდა გქონდეს image2.png image1.png თავზე. ScreenLayer ფუნქცია ცეცხლს დაიმსხვრა ნაბიჯი One ფუნქცია გადავა image2.png გარეთ image1.png, და moveTwo ფუნქცია ცეცხლი ბოლო, გადაადგილება ორივე სურათები ამავე დროს.

როგორ დაფიქსირება Slow iPad

მნიშვნელოვანია გვახსოვდეს, რომ თითოეული მათგანი შეიძლება ჰქონდეს რამდენიმე ათეული გამოსახულება მათში. ისევე, როგორც moveTwo ფუნქცია გადავიდა ორივე სურათების ერთი ხაზი კოდი, ყველა სურათები ფარგლებში ჯგუფი მიიღებს ბრძანებებს გადაეცა ჯგუფი.

ტექნიკურად, დისპლეი ჯგუფს შეეძლო ჰქონოდა დისპლეი ჯგუფები და სურათები. თუმცა, ეს არის კარგი პრაქტიკა, რათა ზოგიერთი ჯგუფები, როგორიცაა displayMain იმოქმედოს, როგორც კონტეინერების სხვა ჯგუფების გარეშე images, რათა შეიქმნას უკეთესი ორგანიზაცია.

ამ tutorial იყენებს დისპლეის ობიექტს. შეიტყვეთ მეტი ობიექტის შესახებ.

როგორ დავიწყოთ iPad Apps- ის განვითარება?