Action Script 3.0 ile hittest kontrolüne geçmeden önce hittest ne anlama geliyor onu öğrenelim. Hittest (çarpma testi) nesnelerin birbirine değip değmediğini kontrol etmemizi sağlayan bir fonksiyondur. Birçok oyunda temel mantık bir şeye çarpınca hakkımızı kaybetmemiz şeklinde olduğundan bu konudan sonra basit flash oyunlar yapabilir olmanız gerekir. Derste yaptırdığım oyun örneklerinden konunun altına ekleme yapacağım. Şimdi basit bir hittest uygulaması yapalım.
Flash Cs5 Action Script 3.0 ile Hittest Kontrol
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
stage.addEventListener(Event.ENTER_FRAME, carpma); stage.addEventListener(KeyboardEvent.KEY_DOWN,hareket); function hareket (event:KeyboardEvent) { mesaj.text="" // Nesne çarpıp ayrıldıktan sonra yazı kaybolur if (event.keyCode==Keyboard.LEFT) daire.x=daire.x-1; // daireyi sola götürür if (event.keyCode==Keyboard.RIGHT) daire.x=daire.x+1; // daireyi sağa götürür if (event.keyCode==Keyboard.UP) daire.y=daire.y-1; // daireyi yukarı götürür if (event.keyCode==Keyboard.DOWN) daire.y=daire.y+1; // daireyi aşağı götürür } function carpma (e:Event):void { if(daire.hitTestObject(kare)) mesaj.text="Çarptınız !!" } |
Uygulamaya fare ile bir defa tıkladıktan sonra yön tuşları ile daireyi hareket ettirebilirsiniz, daire kareye çarptığı anda ekranda mesaj çıkacaktır.
Aşağıdaki öğrenci uygulamaları gibi uygulamalar yaparken dikkat edilecek nokta; birden fazla nesne ile çarpışma kontrol edileceği için nesneleri “veya” ile bağlamaktır. Balonlar sırasıyla a1,a2… gibi isimler verilmiştir. (Animasyonlara bir defa tıkladıktan sonra klavye yön tuşlarına basarak kontrol edebilirsiniz.)
1 2 3 4 5 6 |
function carpma( e:Event ):void { if( heli.hitTestObject(a1) || heli.hitTestObject(a2) || heli.hitTestObject(a3) ||heli.hitTestObject(a4) ||heli.hitTestObject(a5) || heli.hitTestObject(a6) || heli.hitTestObject(a7) || heli.hitTestObject(a8) || heli.hitTestObject(a9) || heli.hitTestObject(a10)) { gotoAndStop(2); } |
Bu uygulama ATL 11 A Sınıfından Kadir Ülkü tarafından hazırlanmıştır.
Bu uygulama ATL 11 A Sınıfından Murat Andıç tarafından hazırlanmıştır.
Bu uygulama EML 11 A Sınıfından Eda Koçpınar tarafından hazırlanmıştır.
Bu uygulama EML 11 A Sınıfından Merve Dinç tarafından hazırlanmıştır.
Bu uygulama EML 11 A Sınıfından Yelda Kaya tarafından hazırlanmıştır.
siz de yorum yazın.