Blog Of Sem: Adobe Flash Actionscript 3 drag drop doğru yanlış nesne

Adobe Flash Actionscript 3 drag drop doğru yanlış nesne


http://www.flashvideodersler.com/actionscript-3-0-dersleri/gelismis-surukle-birak-ve-hittestobject-ornegi-1.html
Onemli: Baslangica Flash Actionscript 3 dosyası yarat secilmeli
3 daire 3 kare yap (daierler sürüklenecek olanlar kareler cevap kutuları)
6 nesneyi tek tek sağ tıkla ve convert to symbol e bas movie clip seçili olması gerekir ve isimlerinide örneğin


daire1
daire2
daire3
kare1
kare2
kare3
yap.

sonra nesnelere tek tek bir tıkla sol aşağıda
instance namelerini(örnek isimleri)
daire1_mc
daire2_mc
daire3_mc
kare1_mc
kare2_mc
kare3_mc
yap

Daha sonra yeni bir layer oluştur ismini Kodumuz yaz ve ilk framine sağ tıkla  ve actionsa tıkla

Çıkan ekrana ve aşağıdaki kodları yaz

//Action Script 3 olmasi gerek
//sürüklenecek objelerin en üstte olmasına dikkat etki kareye sürüklendiğinde arkasına geçmesin
daire1_mc.addEventListener(MouseEvent.MOUSE_DOWN, surukle);
daire2_mc.addEventListener(MouseEvent.MOUSE_DOWN, surukle);
daire3_mc.addEventListener(MouseEvent.MOUSE_DOWN, surukle);
//aşağıda dairelerin gidecegi doğru cevaplar yani kareler taınmlanır
daire1_mc.yer=kare1_mc;
daire2_mc.yer=kare2_mc;
daire3_mc.yer=kare3_mc;
//aşağıda dairelerin ilk yerleri tanımlanır çunku cevap yanlışsa geri oraya gidecek
daire1_mc.ilkyerx=daire1_mc.x;
daire2_mc.ilkyerx=daire2_mc.x;
daire3_mc.ilkyerx=daire3_mc.x;
daire1_mc.ilkyery=daire1_mc.y;
daire2_mc.ilkyery=daire2_mc.y;
daire3_mc.ilkyery=daire3_mc.y;
//bir üstteki kodun aynısı ama daha kısa yani yanlış cevaba surukleynce daireyi geri ilk pozisyonuna götürecek (x=dikey pozisyon, y yatay pozisyon)
var xyeri:Number;
var yyeri:Number;
function surukle(e:MouseEvent)
{
xyeri=e.target.x;
yyeri=e.target.y;
e.target.startDrag();
}
daire1_mc.addEventListener(MouseEvent.MOUSE_UP, birak);
daire2_mc.addEventListener(MouseEvent.MOUSE_UP, birak);
daire3_mc.addEventListener(MouseEvent.MOUSE_UP, birak);
function birak(e:MouseEvent)
{
e.target.stopDrag();
if (e.target.hitTestObject(e.target.yer))
{
e.target.mouseEnabled=false;//cevap doğruysa dairenin hareket etmesini engeller 
e.target.x=e.target.yer.x; //cevap yanlışsa daireyi sürüklemeye başladığın yere atar 
e.target.y=e.target.yer.y;
else 
{
e.target.x=xyeri; //cevap yanlışsa daireyi sürüklemeye başladığın yere atar 
e.target.y=yyeri;
}
}

No comments:

Post a Comment