Grafiği Önde Taşı, Taşı ve Getir

Grafikleri İşlemek için Corona SDK'yı Kullanma

Corona SDK'daki grafikleri oluşturma, yönetme ve yönetme gibi temel bileşen görüntüleme nesnesidir. Bu nesneyi bir dosyadan bir görüntüyü görüntülemek için değil, belki de en önemlisi, resimlerinizi bir araya getirmenize izin verir. Bu, ekranın etrafındaki tüm grafikleri bir kerede hareket ettirmenize ve grafikleri birbirinin üzerine yerleştirmenize olanak tanır.

Bu eğitici, projenizdeki grafiksel nesneleri düzenlemek için ekran gruplarını kullanmanın temellerini öğretecektir. Bu, biri normal ekranı temsil eden ve diğerinin üzerine yerleştirilen bir modal katmanını temsil eden iki farklı katman oluşturarak gösterilecektir. Grafikleri katmanlamaya ek olarak, tüm modal grubu taşımak için geçiş nesnesini de kullanacağız.

Uygulamanızı nasıl pazarlarsınız?

Not: Bu eğiticiyi takip edebilmek için iki resme ihtiyacınız olacak: image1.png ve image2.png. Bunlar seçtiğiniz herhangi bir görüntü olabilir, ancak 100 piksele kadar 100 piksele sahipseniz, eğitim en iyi şekilde çalışır. Bu, görüntülere neler olduğunu kolayca görmenizi sağlar.

Başlamak için main.lua adında yeni bir dosya açıp kodumuzu oluşturmaya başlarız:

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

Bu kod bölümü kullanıcı kütüphanemizi kurar ve ekran grupları aracılığıyla bildirir: displayMain, displayFirst ve displaySecond. Bunları, grafikleri ilk önce katmanlaştırmak ve daha sonra bunları taşımak için kullanacağız. Global_move_x değişkeni ekranın genişliğinin% 20'sine ayarlanır, böylece hareketi görebiliriz.

işlev setupScreen () displayMain: insert (displayFirst); displayMain: insert (displaySecond); displayFirst: toFront (); displaySecond: toFront (); local background = display.newImage ("image1.png", 0,0); displayFirst: (arka plan) eklemek; local background = display.newImage ("image2.png", 0,0); displaySecond: (arka plan) eklemek; son

SetupScreen işlevi, ana gruplara görüntü gruplarının nasıl eklendiğini gösterir. Farklı grafik katmanlarını kurmak için toFront () işlevini de kullanırız; en son bildirilen zamanın en üstünde olmasını istediğiniz katmanı kullanırız.

Bu örnekte, displaySecond grubunun altında olmaya varsayılan olacağından displayFirst öğesini öne taşımak gerçekten gerekli değildir, ancak her bir görüntü grubunu açıkça katmanlama alışkanlığına girmek iyi bir şeydir. Çoğu proje ikiden fazla katmanla sonuçlanacaktır.

Ayrıca her gruba bir resim ekledik. Uygulamayı başlattığımızda, ikinci görüntü ilk resmin üstünde olmalıdır.

function screenLayer () displayFirst: toFront (); son

Grafiklerimizi displayFirst grubunun üstünde displaySecond grubu ile katmanladık. Bu işlev displayFirst öğesini öne taşır.

function moveOne () displaySecond.x = displaySecond.x + global_move_x; son

MoveOne işlevi, ikinci görüntüyü ekran genişliğinin% 20'si kadar sağa taşır. Bu işlevi çağırdığımızda, displaySecond grubu displayFirst grubunun arkasında olur.

işlev moveTwo () displayMain.x = displayMain.x + global_move_x; son

MoveTwo işlevi, her iki görüntüyü de ekran genişliğinin% 20'si kadar sağa taşır. Ancak, her grubu tek tek taşımak yerine, aynı anda hem taşımak için displayMain grubunu kullanırız. Bu, birden çok ekran grubunu içeren bir görüntü grubunun aynı anda birçok grafiği işlemek için nasıl kullanılabileceğinin harika bir örneğidir.

Ayarı ekranında (); timer.performWithDelay (1000, screenLayer); timer.performWithDelay (2000, moveOne); timer.performWithDelay (3000, moveTwo);

Bu son kod biraz, bu işlevleri çalıştırdığımızda ne olduğunu gösterir. Uygulama başlatıldıktan sonra her saniye işlevlerini kapatmak için timer.performWithDelay işlevini kullanırız. Bu işleve aşina değilseniz, ilk değişken milisaniye cinsinden ifade edilen gecikme süresidir ve ikincisi bu gecikmeden sonra çalıştırmak istediğimiz işlevdir.

Uygulamayı başlattığınızda, image1.png dosyasının üstünde image2.png olması gerekir. ScreenLayer işlevi patlayacak ve image1.png öğesini öne getirecektir. MoveOne işlevi image2.png dosyasını image1.png altından hareket ettirir ve moveTwo işlevi her iki görüntüyü aynı anda hareket ettirerek en son ateşlenir.

Yavaş iPad Nasıl Giderilir

Bu grupların her birinin onlar içinde düzinelerce görüntüye sahip olabileceğini hatırlamak önemlidir. Ve moveTwo işlevi her iki görüntüyü de bir kod satırıyla taşıdığı gibi, bir gruptaki tüm görüntüler gruba verilen komutları alır.

Teknik olarak, displayMain grubu, içinde yer alan hem görüntüleme gruplarına hem de görüntülere sahip olabilir. Bununla birlikte, daha iyi bir organizasyon oluşturmak için displayMain gibi bazı grupların herhangi bir imajı olmayan diğer gruplar için konteyner görevi görmesine izin vermek iyi bir uygulamadır.

Bu öğretici, görüntüleme nesnesini kullanır. Görüntüleme nesnesi hakkında daha fazla bilgi edinin.

IPad Uygulamaları Geliştirmeye Nasıl Başlanır?