Neler yeni

Yeni mesajlar Yeni konular En çok mesaj En çok tepki En çok görüntülenen

ActionScript 3.0'da dinamik MovieClip olusturmak

keremToo

🏅Acemi Tasarımcı🏅
Katılım
5 Kas 2008
Mesajlar
97
Tepkime puanı
2
Web sitesi
www.keremtoo.com
Dinamik ismindende anlaşılacağı üzre sabit olmayan değişebilen ve bir birleriyle alaka kurabilecek MovieClip'lerimiz olacaktır. Tabiki bu konu daha detaylı bir sekilde izah edilebilir uzunca ama hem bu örnekleri hemde bu örneklerden sonra kendi uygulamalarınızı geliştirdikce bu yapıyı daha iyi anlayacak ve inşaa edeceksiniz.

Evvela kütüphanemizde önceden olusturdugumuz MovieClip'bi sahnemize eklemeyi öğrenelim.

1-rectangel tool secerek bir dörtgen ciziniz w:150, h:100 gibi olusturdugunuz dörtgeni seciniz ve F8 basınız.
2-cıkan pancerede sağ altta advencet seciniz (eğer orada Basic yazıyorsa bunu yapmanız gerekmez)
3-Export for ActionScript seciniz daha sonra kendisinin otomatik olarak diğer check box'ıda sectiğiniz göreceksiniz.
4-Class ve Base class framelerinin deselect olmaktan cıktıgını fark etmişsinizdir.Buraya biraz dikkat;
Class: Olusturdugumuz MovieClip'in ActionScript için exportlanmış isimi olacaktır. Yani kod içerisinde Class yerinde yazan ismi kullanmamız gerekecek
Base class: Olusturulan MovieClip'in Hangi sınıfı miras alacağı(yani tüm yöntem ve özelliklerini devraldığı) belirlenir.(flash.display.MovieClip) görünmektedir. Yani MovieClip sınıfının tüm yöntem ve özelliklerine sahiptir artık olusturdugumuz MovieClip
5-en üste Name: myClip adını verelim
6-Class da aynı ismi yazalım ve ok tuşuna basınız. bir uyarı pencerisi cıkacak onada ok tuşana basarak gecin.
7-ekrandaki MovieClip siliniz.
NOT: Registrion point "referans noktası" bu uygulamada sol üst olarak belirlenmiştir.

artık LIBRARY yani kütüphanemizde myClip adı ile bir MovieClip'miz var, artık yazmaya baslayabiliriz.

/*myClip objesini kullanmak icin bir referans ismi
belirlememiz gerekiyor. Çünkü new ile belirlenmediği
sürece kütüphanemizdeki myClip'bi ActionScript
tanımıyacaktır. Artık new ile atanmıs referans ismi
clip olduğuna göre clip ismi ile işlem yapabiliriz
demektir.*/

var clip:myClip = new myClip();

// görünmesini istediğimiz x ve y koordinatlarını atıyoruz.
clip.x = 20;
clip.y = 20;

/*addChild() yöntemi kutupahanemizde yada dinamik olarak
ActionScript kodlarıyla oluşturduğumuz MovieClip'leri
ki burada görüntülene bilir"jpg,png, video text ve benzeri"
objeleri sahneye veya konteynırlar içerisine eklemek için
kullanacağımız yöntem olacaktır.*/
addChild(clip);

// sahnenin x:20 y:20 koordinatlarına artık library'daki
// MovieClip görünecek.

// simdi de Dinamik olarak bir MovieClip olusturalım.

var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0x000000,1);
mc.graphics.drawRect(20,120,120,90);
mc.graphics.endFill();
addChild(mc);

/*graphics sınıfının ald metotlarından beginFill
bu yöntem bizden 2 tane parametre bekliyor ilki
dolgu rengi icin bir uint değer 2. ise alpha için
number bir değer olacaktır parantez içerisinde
0x000000 siyah bir renk olacağı opasite icinde 1 değeri
verilmiştir.

gene graphics sınıfının metotlarından drawRect bu
yöntem ise 4 ayrı parametre kabul etmekte parantez
icerisindeki sırasıyla x koordinatı y koordinatı
width değeri ve height değeri verilmiştir.

gene graphics sınıfının metotlarından endFill()
bu yöntem ilede işlemi bitirdiğimizi belirtmiş
oluyoruz. yani istenilen renkte, ebat ve
koordinatlarda bir renctangel olusturduk.*/

// addChild ile sahnemize 2. MovieClip eklendi

// isterseniz hep birlikte bir kaç işlem daha yapalım.
// Tween ile uygulama yapacağımız için gerekli sınıfları cağırıyoruz.
/*aşağıdaki uygulama clip nesnesine click'nince Tween ile x koordinatı
sahnenin width değirinden clip'in width değeri cıkarılıyor bölelikle
hareket edeçeği yeni x koordinatı belirleniyor ve bu harekiti tamamladıktan
sonra diğer mc içinde aynı hareketi yapması sağlanıyor ve mc de hareketini
bitirdikten sonra updateKoordinat fonksinoyu dan trace ile her iki nesnenin
kordinatlarını output panelinde görüyoruz

Tabiki buradaki amaç Tween sınıfını anlatmak değil olusturduğumuz MoviClipleri
kullanmak icin yapılan basit bir örnektir*/
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;

clip.addEventListener(MouseEvent.MOUSE_DOWN, addTween);

function addTween(e:MouseEvent):void
{
var tween_1:Tween = new Tween(clip,"x",Back.easeIn,clip.x,stage.stageWidth - clip.width - 20,1.2,true);
tween_1.addEventListener(TweenEvent.MOTION_FINISH, endTween_1);
}

function endTween_1(te:TweenEvent):void
{
var tween_2:Tween = new Tween(mc,"x",Bounce.easeOut,mc.x,stage.stageWidth - mc.width - 40,1.2,true);
tween_2.addEventListener(TweenEvent.MOTION_FINISH, updateKoordinat);
}

function updateKoordinat(te:TweenEvent):void
{
trace("clip :" + clip.x, clip.y)
trace("mc :" + mc.x, mc.y)
}

/**/ ve // acılama satırlarıdır.

soru ve alakaya göre source dosyaları için link verebilirim....
 

Benzer konular

Üst