Kutucuklu buton nasıl yapılır [Flash] Gönderen: YaBuBeCaN Tarih: 10 June 2006 12:00:33
ekten oluşturacağımız butonun swf ve fla dosyalarını indirebilirsiniz
1-İlk önce butonumuzu cizelim ve F8 e basalım buton ismini "Button1" yapalım.Butonumuzun instance ismini but1 yapalım.
2-Yeni bir movie clip olusturalım(F8 ile),Kutucugumuzu çizelim ve içerisine dynamic text box yerleştirelim instance ismini kutuyazisi yapalım.Kutucuğumuzu ana sahne taşıdıktan sonra instance ismini kutu olarak belirleyelim.
3-Yeni bir layer oluşturun ve layerdaki frame 'in actionscript kısmına aşağıdaki kodları yazın.
//ilk olarak sahnemizin açıldıgında kutucuğu görünmez yapıyoruz.
kutu._visible = false;
//Faremiz buton üzerine geldiginde kutugoster fonksiyonun cagrilmasini üzerine bir fonksiyon belirliyoruz.Burada 100 saniye 1o kez kutugoster fonksiyonunu çağıracaktır.
but1.onRollOver = function() {
kutuint = setInterval(kutugoster,100,"Button 1");
}
//fareyi buton uzerinden çektiğimiz zamanki fonksiyon.Kutusakla fonksiyonunu çağırıyoruz.
but1.onRollOut = function() {
kutusakla();
}
//Bu kısımdaki if li döngü içerisindeki 1 sayısı buton üzerine geldikten ne kdr sonra kutucuğumuzun çıkmasını belirleyen sayıdır.Büyüdükçe kutucuk daha geç çıkacaktır.
var sayim = 0;
function kutugoster(kutuyazisi) {
if(sayim == 1) {
clearInterval(kutuint);
sayim = 0;
//bu kısımda kutucuğun içerisinde olmasını istediğimiz yazıyı çağırıyoruz.Örnek olarak anasahnede kullandığım bir dinamik texti çağırıyorum.Bu kısmı isteğinize göre geliştirebilirsiniz.
kutu.kutuyazisi.text = anasayfa.text;
//kutunun koordinatlarını mouse eşitliyoruz.
kutu._x = _root._xmouse;
kutu._y = _root._ymouse;
kutu._visible = true;
//mouse üstüne geldiği zaman fonksiyonumuz işliyor.
_root.onMouseMove = function() {
kutu._x = _root._xmouse;
kutu._y = _root._ymouse;
//yenileme
updateAfterEvent();
}
}
//Döngü sayısına ulaşmadığında sayim değişkenini arttırıyor.
else {
sayim++;
}
}
//kutusakla fonksiyonu.
function kutusakla() {
clearInterval(kutuint);
kutu._visible = false;
delete _root.onMouseMove;
}