Bu örnek geçen telefonda oynadığım Doodle Jump oyunundan geldi aklıma. Rastgele yerlerde aynı zemini tekrar farklı bir boyutta başka bir yere ekliyoruz. Uygulamanın sonucu olarak şöyle bir şey çıkacak ortaya ( Reset butonunu kullanarak örneğin yeniden oluşturulmasını yani mesela bir levelın yeniden başlatılması işlevini görebilirsiniz. ) :
Gelelim yapımına. İlk olarak bir zemin çizelim ve bunu MovieClip' e çevirmek için F8' e basalım. Daha sonra açılan ekrandan "Advanced" düğmesine tıklayalım. Burada bu MovieClip'i sahneye libraryden çekmek için AS2' de bulunan Identify'a benzer bir özellik olan Class özelliğini kullanacağız.
Advanced butonuna tıkladıktan sonra Export for Action Script seçeneğini işaretleyelim ve açılan Class yazılı kutuya zemin yazalım. Sonra da reset butonu için bir buton yapıp instance name kısmına resetButton yazalım.
Kodları frame'e geçirelim. (Açıklamaları mevcut.):



Benim bir sorum olucak yardımcı olucağınıza inanıyorum ve şimdiden teşekkür ediyorum..Sorum şu yeni oluşan her bir zemin nasıl tanımlanır.
YanıtlaSilÖrneğin
//Zeminle kesiştiğinde zıplama olayını gerçekleştiren fonksiyon
function Zıpla(event:Event):void
{
if(karakter.hitTestObject(ZıplamaTusu)){
karakterHızı=-35;
}
if(karakter.hitTestObject(zeminler)){
karakterHızı=-35;
}
daha önceki koldarı yazıp karmaşalık oluşturmak istemiyorum burada ZıplamaTusu adında bir zemin oluşturdum ve söyleidklerinizi harfiyen uyguladım ve verdiğiniz kodlar çalıştı ancak benim kafama takılan nokta benim oluşturduğum kodda karakter ZıpllamaTusu ile kesişince havaya zıplıyo .Oluşturduğum ilk zemin ile sizin verdğiniz kodun oluşturduğu en alttaki iki zemine çarpınca karakter havaya sıçrıyo yalnız Diğer zeminlere çarptığında karakter sıçramıyo.Verdiğiniz Kodla oluşan yeni zeminleri if(karakter.hitTestObject(zeminler)) ksımında nasıl tanımlayabilirim yardımız için şimdiden teşekkür ederim.
Verdiğiniz bilgilerden ötürü teşekkürler
YanıtlaSilboşa imanmışsın iplememiş amcam seni:)
YanıtlaSil