banner Burada Havadan Sudan Bahsedip yormadim sizi zmler ve sonular var

Updates: 2.5 surumune getim denemelerim devam ediyor. More...
Jul
10th

Action Script Temel komutlar

Yazar: admin | dosya Flash

   MovieClip Nesnesi

Bu nesneye Built-in Classes–> MovieClip yoluyla ulaşabilirsiniz. Dersler bölümünde Film Klipleri alanından örneklere inceleyebilirsiniz. 30 metod içerir.Önemli olanlar tanımlanacaktır

Klipler bir animasyonun temel nesnelerindendir. Bir klibe ait 3 çeşit isimlendirme mevcuttur. Birincisi kütüphanedeki adı, ikincisi örnek adı(instance name), üçüncüsü de attachMovie yönteminde kullanılan kimlik adıdır. Bu adı tanımlamak için kütüphanedeki klip dosyası üzerine sağ klik yapılır, linkage seçeneği işaretlenir ve açılan menüden Export for Actionscript seçilerek identifier alanına kimlik adı yazılır. Veya sahnede mevcut klip işaretlenip properties panelinde instance name kısmına bir isin girilir.

MovieClip Nesnesinin Metodları

attachMovie:

Kütüphanede mevcut bir klipten kopya almak için kullanılır. Bunun için yukarda anlatıldığı gibi klibe bir kimlik adı verilmelidir. Üç argümanı vardır.

.attachMovie(identifier_adı,yeni_isim, seviye); Şayet seviye sıfır olarak verilirse sahnedeki film klibi kalkar yerini tutturulan klip alır.

duplicateMovieClip:

Sahnedeki bir klibin kopyasını almak için kullanılır. 2 argümanı vardır.

_root.klip1.duplicateMovieClip("yeni_isim",derinlik);

Kopyası alınan klibe tırnak işaretleri arasında yeni bir isim verilmelidir. Derinlik düzeyi için sıfırdan büyük rakam eklenmelidir. Sadece yukardaki komutla çoğaltıldığında sahnede bir farklılık gözükmez. Çünkü kopya aslının tam üzerindedir. Ancak mouse ile tutarak çekerseniz iki ayrı klibi görebilirsiniz. Bu nedenle setproperty komutu ile kopyanın x ve y koordinatlarını kaydırmak gerekmektedir.

getBounds:

Bir klip oluşturulduğunda daima onu çevreleyen bir dikdörtgen vardır. Sahneye yerleştirilen klibi tıkladığınızda çevresini mavi bir dikdörtgenin çevrelediğini görürsünüz. Bu çerçeve klibin sınırlarını oluşturur ve komutlarda kullanmak için x ve y referans noktalarını verir.Actionscriptte bu dikdörtgene bounds adı verilir.

getBounds yöntemiyle bir klibin referans noktaları başka bir klibe referans noktası olarak atanabilir. Bu noktalar xmax, xmin, ymax, ymin şeklindedir. Bir adet argümanı vardır.

klip1.getBounds( targetCoordinateSpace );

//Burada parantez içine klip2 yazıldığında referans noktası olarak bu klibin değerleri alınır.

getBytesLoaded:

Dışardan bir animasyon yüklenirken yüklenmekte olan klibin boyutunu öğrenmek için kullanılır. Özellikle preloader işlemlerinde kullanmaktayız. Tek başına bu komut kullanılırsa sadece toplam dosya boyutu alınır. Çünkü bilgisayar ortamı ile internet ortamında yükleme arasında büyük farklılıklar vardır. Bu nedenle getBytesTotal metodu ile beraber kullanılarak yüklenecek dosyanın yüzde cinsinden değeri bulunur.
Örnek için uygulamalar bölümüne bakınız

getBytesTotal:

Yukarda bahsedildi.

getURL:

İstenilen web adresine gitmek veya bilgi göndermek için kullanılır.

klip1.getURL( url, window, method );

// Görüldüğü gibi 3 argümanı vardır.URL kısmına http dahil web adresi, window kısmına açılacak pencerenin şekli(blank, self, top, parent) yazılır. Method bölümü şayet bilgi gönderilecekse GET veya POST olarak kullanılır.

globalToLocal ve localToGlobal:

Bir klip üzerinde bir nokta nesne oluşturulur. getBounds yöntemiyle bu nokta nesnesine atanan koordinatlar içinde bulunduğu klibin koordinat bilgisi olarak belirlenir.
Örnek için Dersler bölümünde ses dosyaları alanına bakınız

gotoAndPlay:

Klibin içinde belirlenen alana gönderilerek oynamayı devam ettirir.

Klip1.gotoAndPlay();

// Parantezler arasına frame numarası veya etiket adı (label) yazılabilir.

gotoAndStop:

Klibin duracağı alanı belirler.

nextFrame:

Oynatma başlığını bir sonraki frame`e gönderir.

prevFrame:

Oynatma başlığını bir önceki frame`e gönderir.

play:

Belirtilen klibi oynatmak için kullanılır.

_root.klip1.play();

stop:

Belirtilen klibi durdurmak için kullanılır.

_root.klip1.stop();

loadMovie:

Bir animasyona harici birswf dosyası eklemek için kullanılır. Eklenen her animasyona farklı bir derinlik düzeyi verilir. Level0 değeri verirseniz sahnedeki klip kalkar yerini yüklenen klip alır. Argüman olarak yüklenecek klibin adı ve seviyesi yazılır.

_root.klip1.loadMovie(yüklenen.swf,level1 );

loadVariables:

Flash dışındaki bir dosya ya da programa ulaşmak için kullanılır. Yüklenen değerlerin ASCII formatında olması gereklidir. Üç argümanı vardır.

İlk argüman yüklenecek adres veya dosyanın adıdır. Eğer internet üzerinden çalışılacaksa sayfanın serverdaki tam adresi yazılmalıdır. Bu özellik internet üzerinden form veya mail gibi bilgi göndermek amacı ile kullanılır. İkinci kısım yüklenecek alandır. Bunun için level veya bir klibe gönderilecekse target argümanı kullanılır. Son argüman ise bir bilgi iletilecekse kullanılan GET veya POST metodudur.

loadVariableNum(deneme.txt,0);

// Yukardaki komutla deneme.txt dosyasındaki değerler level0`ra yüklenir ve tüm animasyon boyunca etkili olur.

loadVariableNum(deneme.txt,_root.klip1);

// Burada değişken ve değerler sadece klip1`e yüklenmiştir.

removeMovieClip:

Bu yöntem duplicateMovieClip ve attachMovie yöntemlerinden biri ile yüklenen veya kopyalanan klipleri kaldırmak için kullanılır.

_root.klip1.removeMovieClip(); şeklinde kullanılır.

unloadMovie:

loadMovie veya attachMovie yöntemiyle yüklenen klipleri kaldırmak için kullanılır.

_root.klip1.unloadMovie();

startDrag:

Bir klibin fare işaretleyicisine yapışması ve onunla hareket ettirilmesi amacıyla kullanılır. İmleç ile klibin beraber hareketi ister tüm sahne isterseniz belirtilen alanlar içinde yapılabilir. 4 argümanı vardır.

.start.drag(lockCenter,left,right,top,bottom);

// lockCenter kısmına true yazarsanız imleç klibi tam ağırlık merkezinden tutar. Diğer değerleri boş bırakırsanız çekme hareketi tüm sahnede etkili olacaktır. Belli alanlarda hareket planlıyorsanız 4 yön içinde piksel cinsinden değer girmelisiniz.

stopDrag:

Önceden işaretleyiciye yapışan bir klibin yapışma işlemini durdurur. Argümanı yoktur.

_root.klip1.stopdrag();

hitTest:

İmleç veya klip gibi bir nesnenin başka bir klip ile temasının olup olmadığını test eder. Önceden gördüğünüz gibi her klibin etrafını çevreleyen dikdötgen şeklinde bir alan mevcuttur. Bir imleç veya klibin başka bir klip ile temasının olup olmadığını 2 şekilde öğrenebiliriz. Birincisi x ve y koordinatlarına göre yazılır ki bu genellikle fare için kullanılır.

onClipEvent(MouseMove){
If(this.hitTest(_root._xmouse, _root._ymouse,false)){
trace("temas oluştu");{
}
}

// Burada imleç klip üzerine geldiğinde output penceresinde temas oluştu yazısı görülecektir.

İkinci yöntemde iki klibin teması değerlendirilir. Birinci klibe şu kodları yazalım:

onClipEvent(enterframe);{
startDrag("klip1",true);
}

İkinci klibe alttaki kodları ekleyelim:

onClipEvent(MouseMove);{
If(_root.kklip1,hitTest(_root.klip2)){
trace("temas oluştu");
}
}

// Burada klip1 imleçe yapışacak ve diğer klibe temas ettiğinde output penceresinde temas oluştu yazısı çıkacaktır.

swapDepths:

Bir sahnede mevcut olan 2 klip daima farklı derinlik düzeylerine yerleştirilir. Bir tanesi daima en üsttedir ve diğer klibin üzerine yerleştirildiğinde görüntüsünü kapatır. Bu komut kullanılarak alttaki klibi diğer klibin üzerine getirebiliriz. Yani derinlik düzeyini değiştirebiliriz. Mevcut tek argümana derinlik düzeyi değişecek klibin adı veya derinlik düzeyi girilir.

on(press);{
klip1.swapDepths(klip2);
}
}

// Sahnedeki butona basıldığı an iki klibin derinlik düzeyleri değişecektir. Bu yöntem için mutlaka bir butona ihtiyaç yoktur,kliplerin kendisine de bu kodlar yazılabilir.

createEmptyMovieClip:

Verilen mevcut bir klip içinde boş bir klip oluşturur. Bu aynı attach movie klip gibidir fakat bir identifier adı eklemeye ge rek yoktur.parametre olarak yeni bir isim ve derinlik düzeyi eklenmelidir.Örnek: klip1.createEmptyMovieClip("yeni",1);

createTextField:

Verilen bir klip içinde boş bir dinamik metin kutusu oluşturur. Kullanımı:
myMovieClip.createTextField (instanceName, depth, x, y, width, height) Bu kutunun özellikleri şöyledir:

type = "dynamic",
border = false,
background = false,
password = false,
multiline = false,
html = false,
embedFonts = false,
variable = null,
maxChars = null
font = "Times New Roman"
size = 12
textColor = 0×000000
bold = false
italic = false,
underline = false
url = ""
target = ""
align = "left"
leftMargin = 0
rightMargin = 0
indent = 0
leading = 0
bullet = false
tabStops = [] (Boş dizi)

Örnek:

300*100 piksel boyutlarında , x=100 y=100 kordinatlarına kırmızı ve altı çizili formatta yazı girilmesi istenen dinamik bir metin kutusu için şu komutlar yazılmalıdır.

_root.createTextField("mytext",1,100,100,300,100);
mytext.multiline = true;
mytext.wordWrap = true;
mytext.border = false;
myformat = new TextFormat();
myformat.color = 0xff0000;
myformat.bullet = false;
myformat.underline = true;?
mytext.text = "this is my first test field object text";
mytext.setTextFormat(myformat);

getDepth:

Bu komut bir klibin derinlik rakamını almak için kullanılır.

setMask:

Şayet bir klibi başka bir klip üzerinde maske olarak kullanmak isterseniz bu komutu kullanmalısınız. klip1.setMask(daireMask); Bu örnek te daire klibi klip1 filmi üzerinde maske olarak çalışacaktır.



11 yanıt. Bir şeyler yazmak istermisin ?

  1. serhat
    Mar 12, 2008 at 15:13:06
    #1

    slm lar ben serhat benim yıllık ödev “temel action script komutlarının işlevleri nelerdir” bid yardım ediniz arkadaşlar….

  2. admin
    Mar 12, 2008 at 16:05:20
    #2

    Dostum Merhaba bu sitede aradıgın bir cok komutu bulabilirsin
    http://www.alierkurt.com/actionscript/

  3. serhat
    Mar 12, 2008 at 22:41:43
    #3

    slm kardeş ben senin verdiğin siteye girdim de sen bana şöle yardımcı olursan sevinirim sen benim hotmaile”temel action script komutlarının işlevleri nelerdir” bu ödeevin cvpbını atıversen çok iyi olur.. kalın sağlıcakla

  4. admin
    Mar 12, 2008 at 23:33:12
    #4

    Hocam istersen senın yerıne okulada gidim :) saka bi yana zaten butun komutlar sıtede var bunları yorumlaman yeterlı olucaktır bunuda ben yaparsam zaten sen ogrenememıs olucaksın

  5. serhat
    Mar 13, 2008 at 14:02:56
    #5

    tşkkürler yardımcı olduğun için.. bir daha belki sorularım olabilir? okul şakasında da walla gitsen ne iyi olur biliyormusun bıktım…

  6. admin
    Mar 13, 2008 at 14:34:58
    #6

    onlardada yardımcı olmaya calısım

  7. SeRdAr
    Mar 13, 2008 at 20:17:57
    #7

    yukarıda ki sayfada açıkladığınız komutlardan başka yokmu? arkadaşlar bunlar az benim ödev bundan da onu için bana bir yardımcı olunnn…

  8. admin
    Mar 14, 2008 at 09:32:24
    #8

    Temel olarak bunları yazıp orneklendırırsen bir cok sonuc ortaya cıkıcaktır . Ayrıca temel kavramlardan değişkenler, array yapılar if for while yapılarını solemıorum bıle ..

  9. serdar
    Mar 14, 2008 at 12:27:21
    #9

    hocaya gösterdim bana bu az dedi onun için birz daha olsa bana yeter…

  10. onur
    May 15, 2008 at 22:57:53
    #10

    arkadaslar flash kullandıgım bı sıtede 14 ayrı scene var bu sitenın basına preloadıng koymak istiyorum bu preload sırasında da tum sıteyı yuklemesını istıyorum bunun kodlarına nerden ulasabılırım..

  11. admin
    May 16, 2008 at 10:20:58
    #11

    Dostum merhaba 1.scene nın ilk frameıne istedigin preload ekranını hazırlayıp su kodlarıda ilk frame ‘ e gene yapıstırırsan sorunun cozulucektır

    this.onEnterFrame = function ()
    {
        percent = Math.round(main_mc.getBytesLoaded() / main_mc.getBytesTotal() * 100);
        load_mc.preloadIn_mc.gotoAndStop(percent);
        if (percent == 100)
        {
            delete this.onEnterFrame;
            load_mc.play();
            main_mc._alpha = 0;
        } // end if
    };

Yorum Gönder