Flash CS5 Actionscript 3.0 Araba Park Etme Oyunu

Çok basit bir hali ile araba park etme oyunu yapacağız. Yön tuşlarını kullanarak arabayı hareket ettireceğiz. Arabayı Çevirmek içinse A ve S harf tuşlarını kullanacağız. Dediğim gibi burada tam bir oyunu kodlamayacağız ama size fikir verme açısından basit halini yapacağız. Sizler kodları geliştirerek daha iyilerini yapabilirsiniz. Şimdiden kolay gelsin.

İlk önce Flash ile ActionScript 3.0 bir sahne açın.

Sahnenin içerisine çeşitli engeller ve bir araba ekleyin. Benim yerleşimim aşağıdaki gibidir.
arabaparki1

Arabayı Çevirmek için A-S tuşlarını kullanın yazan kısım dinamik metin alanıdır ve adı mesajdır.
Renkli ve kalın çizgili dörtgen şeklindeki engellerin isimleri sırası ile e1,e2,e3,e4,e5 ve e6, içi beyaz ve ince çizgili alanın ismi ise parkyeri olarak belirlenmiştir. Araba nesnemizin adıda tahmin edeceğiniz gibi araba.

Bu yerleşimi yapınca zaman çizelgesinde ikinci kareyi sağ tıklayın ve boş ana kare ekleyi seçin. Karşınıza boş bir sahne gelecektir. Sahneye bir buton ekleyin ve adını oyna olarak belirleyin.

Artık tasarımı tamamlandı. Zaman çizelgesinde 1. kareye gelin ve F9 tuşuna basarak kod ekranını açın ve aşağıdaki kodları yazın.

//animasyonu durdurur
stop();
//hangi işlemde çalışacak fonksiyonları belirler
//fonksiyonlar hareket,cevir ve carpma
stage.addEventListener(KeyboardEvent.KEY_DOWN, hareket);
stage.addEventListener(KeyboardEvent.KEY_DOWN, cevir);
this.addEventListener( Event.ENTER_FRAME, carpma)

//hareket fonksiyonu
//klavyedeki yön tuşlarına göre arabanın koordinatlarını değiştirir.
function hareket(event:KeyboardEvent) 
{
	if (event.keyCode==Keyboard.LEFT) {
        araba.x -= 1; // top nesnesinin x koordinatını 1 eksiltir.
    }
    if (event.keyCode==Keyboard.RIGHT) {
        araba.x+=1; // top nesnesinin x koordinatını 1 artırır.
    }
    if (event.keyCode==Keyboard.UP) {
        araba.y-=1; // top nesnesinin y koordinatını 1 eksiltir.
    }
    if (event.keyCode==Keyboard.DOWN) {
        araba.y+=1; //top nesnesinin y koordinatını 1 artırır.
    }
	if (araba.x == parkyeri.x && araba.y == parkyeri.y)
	   mesaj.text ="Tebrikler...";
}

//cevir fonksiyonu
//A veya S tuşlarına basılınca nesneyi sağa yada sola çevirir.
function cevir(event:KeyboardEvent) {
if (String.fromCharCode(event.charCode)=="a" || String.fromCharCode(event.charCode)=="A")
	{
	  araba.rotation += 5;
	}
	if (String.fromCharCode(event.charCode)=="s" || String.fromCharCode(event.charCode)=="S")
	{
	  araba.rotation -= 5;
	}
}

//carpma fonksiyonu
//araba engellere çarparsa yapılacak işlemler
function carpma( e:Event ):void
{
    if(araba.hitTestObject(e1) || araba.hitTestObject(e2) || araba.hitTestObject(e3) || 
	   araba.hitTestObject(e4) || araba.hitTestObject(e5) || araba.hitTestObject(e6))
       {
           gotoAndStop(2);
       }
}

Zaman çizelgesindeki 2. kareye geçin ve aşağıdaki kodları yazın.

oyna.addEventListener(MouseEvent.CLICK,basa);
function basa (e:MouseEvent)
{gotoAndStop(1);}

Örnek uygulama aşağıdaki gibidir.

[kml_flashembed publishmethod=”static” fversion=”8.0.0″ movie=”http://www.mustafaakbal.com.tr/wp-content/uploads/2013/05/arabapark.swf” width=”500″ height=”440″ targetclass=”flashmovie”]

Get Adobe Flash player

[/kml_flashembed]

30 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir