Action
Sicript
ActionScript Nedir?
Sizlere bu sayfada macromedia flash ile ilgili çeşitli konularda
bilgi aktarmaya çalışacağım. Bu bilgiler daha cok flash'da action
script kullanımını ilgilendiren şeyler olacak. Zaten flash'da
grafikle ilgili çok çeşitli atraksiyonların anlatıldığı yerler
bulabilir veya bunları çok kolayca kendi başınıza yapabilirsiniz.
Öncelikle bu yazıyı okuyan kişilerin şunu bilmesini isterim. Bu
bölüm bir action script sözlüğü değildir. Yani şu anda biri, flashla
ilgili bir konuda kod yazarken, takıldığı bir komutu nasıl
kullanıcağını öğrenmek için bu yazıyı okuyorsa, o komutun ne işe
yaradığını burdan bulamaz. Bu konuda bakılması gereken en uygun yer
flash'ın helpindeki action script sözlüğü olabilir yada http://www.flashkit.com'a
bakabilir. Bu site kesinlikle bu konuda çok zengin bir kaynaktır.
Bu bölümde anlatılacak konular flash'da bir uygulama yazarken
kitaplarda çok net olarak anlatılmayan metodlardır. Bu yazıdan
yararlanabilecek kişilerden bir bölümüde, fazla programlama bilmeyen
ama Flash'da grafikten çok interaktif konulara meraklı kişiler
olacaktır. Ve son olarak bu bölümde birlikte flash'da birçok basit
oyun nasıl yapılır bunların üzerinde duracağız.
Flashda herhangi bir şey yapılırken bilinmesi gereken yada en çok
kullanılan önemli temel kavramlar vardır. Bunların nasıl çalıştığını
anlamadan yapılacak şeyler ya çok zahmetli bir çalışma yada birçok
şeye imkan vermeyen yarı ölü bir proje olacaktır. Bunlar: Movie Clip,
Button ve Timeline dır.
Movie Clip
Movie Clip, Flash'ın olmazsa olmazlarından biridir. Çünkü bir
movie clip yarattığınızda iç içe iki tane flash dosyası açmış gibi
olursunuz. Ve bunun yarattığı olanaklar inanılmazdır. Bu aynı
aynanın karşısına geçip bir başka ayna koyduğunuzda orada birbiri
içinde gorünen aynaların sonsuza kadar giden görüntüsünden
farksızdır. Ve siz oradaki herhangi bir kısımından değer
döndürebilirsiniz.
Bir başka benzetmede söyle yapılabilir. Programlama dillerinde bir
program, ana program bloğu, prosedür ve fonsiyonlardan oluşur.Ana
program bloğu prosedürleri çağırarak programın işlemesini sağlar.
İşte Flash da ilk ekran ana program bloğu, movie cliplerde prosedür
ve fonksiyonlar gibidir. Flashın avantajlarından biride burdaki
movie clipler birbirinden bağımsız aynı anda çalışabilen objeler
gibi davranırlar.
Movie cliplerin bir işlevide görsel atraksiyon yapılırken kullnılan
uzun frameler arasındaki Motion Tween, grafikler vb. gibi ortada
karışıklığa neden olabilecek şeyleri ortadan kaldırır. Çünkü flash
görsel ve kodsal alanların iç içe girerek işem yapılmasına olanak
sağlayan bir programdır. Bu da beraberinde bazı zorluklar
getirmektedir.Yani siz birtakım grafiklerin üzerine kod ekledikten
sonraya araya bir keyframe koyarsanız yada silerseniz, flash bu
kısımlarda önceki frameden farklı davranır. Bu da size çözülmesi zor
olan hatta "undo" yaparak bile kurtaramayacağınız sorunlar
yaratabilir. İşte bu yüzden sizlere önerim layerları iyi kullanın,
bir biriyle aynı yerde olması gerek şeyleri ana scene yerine movie
clip yapın ve kod yazarken gerçek görsellik yerine onu simule
edebilecek grafikler kullanın.
Button
Flashda buttonlar sizin klavye yada mouse yoluyla aktivite
gerçekleştirecek kullanıcıdan gelecek girdiyi dinlediğiniz
nesnelerdir. Örnek olarak "mouse click" için "press" , "release"
gibi.
Buttonların bana göre en çok işe yaradığı yer, bir durumu simule
etmek için kullanıldığı yerlerdir. Diyelim ki programınızda bir
yerde, keyframedeki kod bir işlevi gerçekleştirecek fakat oradaki
durumun oluşup oluşmayacğını bilemiyorsunuz. Bu durumda en sıhatli
olan bu kodu önce bir buttona atar ve denersiniz eğer çalışıyorsa
koyarsınız, çünkü buttona basıldığında oradaki bölümün işletileceği
kesindir. Flashın en büyük eksikliği, yaptığınız proğramdaki kodu
debug ederken, satır satır içeriğinde ne var görememenizdir. Aslında
Flash 5 de bu durumu kapatmak için bir debugger var fakat yinede
yeterli değil bence. Test için text alanlarınıda kullanmayı ihmal
etmeyin.
Buttonlarla ilgili söyleyeceğim bir şeyde, buttonların bir movie
clipin içinde de kullanılabilmesidir. Buttonlar flash tarafında
hareketli objeler olarak görülmezler, propertieslerin hepsi movie
clipler için geçerlidir. Fakat movie cliplerdede eventlar yani mouse
press gibi durum değerlendirici özellikler yoktur. İşte bu ikisinin
birden gerektiği yerlerde o movie clipin içindeki alana girilip
oradaki grafik seçilerek buttona çevirilebilir.
Time Line
Flash'daki timeline, üzerine kod yazılabilen, programınızın hem
uzunluğunu hemde süresini belirleyen bir araçtır. Aslında
programlama dillerindeki debugerlar gibi çalışır, üzerine geldiği
frame in içinde neler tanımlıysa onları gösterir ve çalıştırırlar.
Flash' da timeline aynı şekilde movie cliptede kullanılır. Bu
özellik sayesinde bir movie clipe iki key frame koyularak
birincisine bir değeri kontrol işi atanırsa ve ikincisinede
birinciye dönmesi için "goto" konulursa bu şekilde çok kısa
sürelerde gerçekleştrilebilen kontrol mekanizmaları kurulmuş olur.
Bana göre iyi bir flash programını anlamanın en güzel yolu o flash
programının ana ekranda sadece tek framede çalışmasıdır. Tabi bu
işin esprisi fakat, Flash bu özellikleri sayesinde çok ciddi bir web
ve multimedya yazılımı üretebilen bir programdır.
|