Sürükle ve Yerine Bırak
Bu yazımızda Adobe Flash CS6 da sürükle bırak işlemini biraz daha karmaşık hale getireceğiz. Aynı şekilden iki adet çizip birini renkli yapacağız diğerini ise gri. Kullanıcının renkli olanı şekli gri olan şekille eşleştirmesini bekleyeceğiz. Bu işlem için daire, üçgen ve yıldız şekillerini kullanacağız. Eşleştirme işlemi için işlem basamakları aşağıdadır.
İşlem Basamakları :
- Yeni bir Flash AS3 belgesi açılır. (800 x 400px).
- Katman 1 “Arkaplan” olarak değiştirilir ve sahneyi yatay olarak ikiye bölecek şekilde iki adet dörtgen çizilir. Bu katmanla işimiz bittiği için katman kilitlenir ve yeni katman oluşturulur.
- Daire, Yıldız ve Üçgen çizilir ve bu üç şekil gri renge boyanır. Bu yeni oluşturduğumuz katmana bir isim verilip bu üç şekil sahnedeki alt bölümde konumlandırılır. Bu üç şekil seçilip kopyalanır ve yeni bir katman oluşturularak buraya yapıştırılır. Tekrar ikinci katmandaki gri şekiller teker teker seçilir ve sırayla F8 tuşuna basılarak film klibi haline getirilir. Örnek adı olarak daire_g, ucgen_g ve yildiz_g isimleri verilir.
- 3. Katmana kopyaladığımız gri renkteki şekiller renklendirilir ve her birini bir önceki adımda yaptığımız gibi film klibi haline getirilir. Örnek adı olarak daire, ucgen ve yildiz isimleri verilir.
- Yeni bir katman daha oluşturulup “Action” adı verilir ve bu katmana aşağıdaki kodlar sırasıyla yazılır.
- Daha sonra film test edilir.
Not: Bu örnekte her bir şekil için ayrı ayrı sürükle bırak fonksiyonları yazılmıştır ancak ilerleyen derslerde bir tane sürükle bırak fonksiyonu yazmak kafi olacaktır.
Kodlar:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
kare.addEventListener(MouseEvent.MOUSE_DOWN, surukle_kare); kare.addEventListener(MouseEvent.MOUSE_UP, birak_kare); function surukle_kare(event: MouseEvent): void { kare.startDrag();} function birak_kare(event: MouseEvent): void { kare.stopDrag(); if (kare.hitTestObject(kare_g)) { kare.x = 337; kare.y = 231; kare.removeEventListener(MouseEvent.MOUSE_DOWN, surukle_kare); kare.removeEventListener(MouseEvent.MOUSE_UP, birak_kare); } else { kare.x = 100; kare.y = 28; } } /********************************************/ daire.addEventListener(MouseEvent.MOUSE_DOWN, surukle_daire); daire.addEventListener(MouseEvent.MOUSE_UP, birak_daire); function surukle_daire(event: MouseEvent): void { daire.startDrag();} function birak_daire(event: MouseEvent): void { daire.stopDrag(); if (daire.hitTestObject(daire_g)) { daire.x = 87; daire.y = 231; daire.removeEventListener(MouseEvent.MOUSE_DOWN, surukle_daire); daire.removeEventListener(MouseEvent.MOUSE_UP, birak_daire); } else { daire.x = 582; daire.y = 28; } } /*****************************************/ yildiz.addEventListener(MouseEvent.MOUSE_DOWN, surukle_yildiz); yildiz.addEventListener(MouseEvent.MOUSE_UP, birak_yildiz); function surukle_yildiz(event: MouseEvent): void { yildiz.startDrag();} function birak_yildiz(event: MouseEvent): void { yildiz.stopDrag(); if (yildiz.hitTestObject(yildiz_g)) { yildiz.x = 587; yildiz.y = 231; yildiz.removeEventListener(MouseEvent.MOUSE_DOWN, surukle_yildiz); yildiz.removeEventListener(MouseEvent.MOUSE_UP, birak_yildiz); } else { yildiz.x = 341; yildiz.y = 28; } } |