• Home
  • Hakkımda
  • LaydoProxy
  • LaydoUpload
  • Online Kim Var
Blue Orange Green Pink Purple

Global Değişkenler

Posted in Actionscript. on Wednesday, August 29th, 2007 by admin
Aug 29

Degiskenler

Bundan önceki makalelerimizde veri türlerini tamamladik, bundan sonrasinda ise bu türlerin derinlemesine kullanimina deginecegiz.

Degiskenler, temel olarak hafizada saklanan veriye erismek için kullanilan temsilcilerdir. Çok yaygin bir görüs oldugundan degiskenleri "Saklama Kabi" olarak düsünebiliriz. Her degiskenin bir adi, bir de degeri vardir örnegin;

isim = "Hakan";

isim degiskenin adi, "Hakan" ise bu degiskenin tasidigi degerdir. Anlasilabilecegi gibi bu degisken string bir degere sahiptir.
Degiskenler, daha önce ögrendigimiz veri türlerinin hepsini deger olarak alabilirler. Örnekleri inceleyiniz;

hedefClip = myMovieClip; //movie clip ornegini deger olarak almis
adi = "myName"; //string
sayi = 15; //sayi
giris = true; //boolean

Bir degiskenin tanimlanmasi sirasinda, tür uyumu, isimlendirme kurallari gibi dikkat edilmesi gereken hususlar vardir. Degisken isimlendirmesi, her ne kadar bizim zevkimize kalmis ise de bazi kurallar çerçevesindedir.

- Degisken adinda bosluk kullanilmaz.

kullanici adi = "Mesut Sasmaz"; //hatali tanimlama

- Degisken adlari, sayi ya da alfanumerik olmayan karakterlerle baslayamaz.

1_giris = 0; //hatali bildirim
%yuklenen = 100; //hatali bildirim

Bunlarin disinda, degisken isimlendirmesinde Türkçe karakterlerin kullanilmamasi da salik verilir.

Genel bir programlama aliskanligi olarak, degisken isimlendirmesinde ilk kelime küçük harfle baslar, takip eden her kelimenin ilk harfi büyük yazilarak devam edilir.

dosyaAdi = "myFile.txt";
kullaniciGirisIzni = false;

Degisken isimlendirmede dikkat edilecek son nokta da, Actionscript youmlayicisi için özel anlam ifade eden kelimelerin degisken adi olarak kullanilmamasidir. Zaten bu gibi bir kullanimda Actions paneli kelimeyi sizin için renklendirdiginden yanlis bir kullanim yaptiginizi anlayacaksiniz.

this = myMovieClip; //yanlis, this ozel bir kelime
import = ""; //hatali bildirim
Degiskenlerin ömürleri

DEGISKENLERIN ÖMÜRLERI ve FAALIYET ALANLARI

Her degisken, tanimlandigi bloga göre 3 gruba siniflandirilir;

- Local degiskenler
- Global degiskenler
- Timeline degiskenleri

Local Degiskenler:

Bu tip degiskenler, sadece tanimlandiklari blok içerisinde faaliyet gösterirler ve geçerlidirler. Burada blok teriminin açiklamasini yapmakta fayda görüyorum;
Actionscript söz diziminde { } küme parantezleri arasindaki ifadeler "blok" olarak adlandirilirlar.

if(durum)
{
//burasi if blogunun ici
}

Local degiskenler, faaliyet göstermesini istedigimiz blok içerisinde "var" deyimi ile tanimlanirlar. Hatirlayacaginiz üzere var deyiminin daha önceki açiklamasinda ileride farkli alanlarda kullanacagimizi belirtmistik.

function topla(a,b)
{
var toplam = a+b;
return toplam;
}
trace(toplam); //undefined

Yukaridaki örnekte, toplam degiskeni sadece "topla" fonksiyonu içerisinde faaliyet göstermektedir. Filminiz içerisinde herhangi bir noktada topla degiskenine erismek istediginizde "undefined" hatasi ile karsilasirsiniz.

Fonksiyonu asagidaki sekilde düzenleyip tekrar deneyelim;

function topla(a,b)
{
toplam = a+b;
return toplam;
}
topla(10,20); //fonksiyonu cagiriyoruz.

trace(toplam); //ciktisi 30 olacaktir.

Gördügünüz gibi, toplam degiskeni Local bir degisken olmaktan çikri. Bunun anlami var deyimi kullanilmadan tanimlanan degiskenlerin birer Timeline degiskeni haline gelecegidir.

Timeline Degiskenleri:

Timeline (zaman çizgisi) kavramindan söz edebilmek için, önce movieclip olmasi gereklidir. Her movieclip’ in kendisine ait bir zaman çizgisi vardir ve kendi içlerindeki komutlari bu zama çizgisinde isletirler. Bir movieclibin zaman çizgisi içerisinde "local olmayan" bir degisken tanimlandiginda, o degiskene kendi timeline’ i içerisinde dogrudan erisilebilir.

Local degiskenlerden farkli olarak, timeline degiskenlerine mutlak yol belirtmek kosulu ile kendi timelinelari disindan da erisilebilir. Asagidaki örnekleri inceleyiniz;

//myClip isminde bir movieclip’ in zaman cizgisinde
//1. frame icerisindeki kod.
timeLineDegiskeni = "myClip içerisinde faaliyet gösteriyorum";
trace(timeLineDegiskeni); //degiskenin degerini yazdirir

//root (ana zaman çizgisi) üzerindeki
//1. frame içerisinde bulunan kod.
trace(timeLineDegiskeni); //undefined
trace(myClip.timeLineDegiskeni); //degiskenin degerini yazdirir.

Mutlak ve göreceli yol bildirimlerine ileride detayli olarak deginecegimizden, simdilik bu örneklerde degiskenlerin faaliyet alanlarini anlamaniz yeterli olacaktir.

Global Degiskenler:

Global degiskenler, adindan da anlasilabilecegi gibi; uygulama içerisinde her hangi bir yerden direk olarak erisime sahip olan degiskenlerdir. Bir degiskeni global düzeyde tanimlamak için _global belirteci kullanilir.

_global.skor = 70; //root ta tanimlanmis bir global degisken

//myClip movieclibi içerisindeki kod
trace(skor); //ciktisi 70 olacaktir.

Yukaridaki örnekte, skor degiskeni ana zaman çizgisi üzerinde tanimlanmis bir global degiskendir. Tanimlandigi yer olarak ana zaman çizgisi üzerinde olsa da, global seviyede tanimlandigi için herhangi bir zaman çizgisinden de dogrudan erisilebilir.

DEGISKENLERIN TASIYACAGI VERIYI BELIRLEMEK

Pek çok programlama dilinden aliskin oldugumuz bir durum, degisken tanimlamasi sirasinda o degiskenin tasiyacagi verinin türünün de belirtilmesidir.

Visual Basic:
Dim i As Integer ’sayisal bir degisken
C - C++ - C#
int sayi; //sayisal bir degisken
vb..

Actionscript 2.0 tür bildirimi, sadece "Local" düzeydeki degiskenler için, yani var deyimi ile tanimlanan degiskenler için yapilmaktadir. Global ya da Timeline degiskenleri için tür bildirimi söz konusu degildir.

Actionscript 2.0 da tür bildirimi ":" iki nokta operatörü ile yapilir.

var isim:String = "Hakan"; //string bir degisken
//tur bildirimi yapiliyor
var sayi:Number = 10;

Yukaridaki tanimlamalardan sonra, asagidaki atamalari yapmaya kalktiginizda A.S derleyicisi tarafindan hata mesaji alacaksiniz.

isim = 20; //hata, string degiskene sayisal veri ataniyor
sayi = "10"; //hata

Tür bildirimi, Actionscript 2.0 içerisinde bulunan tüm hazir siniflar ve sizin olusturacaginiz özel siniflar için yapilabilir. Tür bildiriminin bir diger faydasi da Actions panelinin "intellisense" özelliginin kullanilabilmesine olanak saglamasidir. Tür bildirimi yaparak tanimladiginiz bir degiskenin metodlarina erismek istediginizde Actions paneli size mevcut metodlari listeleyecektir.

function abc(a:Number,b:String,c:kendiSinifim)
{
.
.
.
}

Sekilde de görülecegi gibi, parametre degiskenlerinde de tür bildirimi yapilabilmektedir.

Degiskenler ile ilgili bu yazimizda deginecegimiz son nokta da, delete deyimi. Uygulamanizda zaman zaman artik kullanilmasina gerek kalmayan degiskenler olabilir. Hafizanin verimli kullanilabilmesi için bu degiskenleri silmek oldukça mantikli bir çözüm olacaktir. delete deyimi, hafizada tanimli bir degiskeni silmek (hafizada kaldirmak) için kullanilir.

silinecekDegisken = "blablabla";
trace(silinecekDegiske); //blablabla ciktisini alacaksiniz.
delete silinecekDegisken; //degiskeni siliyoruz
trace(silinecekDegisken); //undefined.

Leave a Reply

Laydo.net Webmaster Blog

  • Categories
    • .net c##
    • Actionscript
    • Ajax
    • araçlar
    • Attacking and Defense
    • CSS
    • Flash
    • flex
    • Grafik
    • html
    • Javascript
    • Joomla
    • Linux
    • LOST
    • MsSQL
    • muzik
    • Php
    • Programlarım
    • Sorun(HATA)
    • uçuk kaçık
    • Uncategorized
    • XBOX360
  • Recent Posts
    • Actionscript 3 Preloading
    • Server Değişikliği
    • Super Fıkra gibi oyku İspanyol ve Amerikalı
    • Zend Studio Yavaşlık problemi Zend studio too slow problem
    • Flash transparent Popup fixed sayfanın ortasında
  • Recent Comments
    • Merve on Dünya Telefon Ülke kodları Ülke Telefon kodları
    • Emre Kaya on Dünya Telefon Ülke kodları Ülke Telefon kodları
    • ekrem on Dünya Telefon Ülke kodları Ülke Telefon kodları
    • ekrem on Dünya Telefon Ülke kodları Ülke Telefon kodları
    • Mahir on Dünya Telefon Ülke kodları Ülke Telefon kodları
  • Etiket Bulutu

    ücretsiz proje yönetim ücretsiz proje yönetim siteleri 4.sezon 4.Sezon 11.Bölüm 11.bölüm Actionscript as2 banner bedava proje yönetim clicktag comindwork Flash flashbanner liquidplanner LOST Lost 4.Sezon 11.Bölüm Lost 4.Sezon 11.Bölüm altyazı Lost 4.Sezon 11.Bölüm full indir Lost 4.Sezon 11.Bölüm indir Lost 4.Sezon 11.Bölüm izle Lost 4.Sezon 11.Bölüm rapidshare Lost s04e011 altyazı Lost s04e11 Lost s04e11 full indir Lost s04e11 indir Lost s04e11 izle Lost s04e11 rapidshare Lost s04e11 türkçe altyazı officezilla online project manager online proje yönetim proj projectoffice proje onetim proje yönetim proje yönetimi proje yönetimi sitesi proje yönetimi sitesi karşılaştırma proje yönetim sistemleri s04e011 takip toggl web 2.0 web 2.0 proje web tabanlı proje yönetim uygulaması

    WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

  • .net c##
    • Bir makale Sitesi
    • C# platformu
    • Kaynak code Sitesi
  • linkage
    • 2402424.com
    • Bannerblo
    • ÇevirBak
    • DinoDream
    • ferruh mavituna
    • Harun Pekşen
    • İsmionemlimi.com
    • MSDN
    • Oğuzhan Çetinkaya
    • Turkce Lorem İpsum
    • Webgraf.Ru
    • WM-TR
    • www.eburhan.com
    • yeni mecra
    • zamazing


  • Home
  • Hakkımda
  • LaydoProxy
  • LaydoUpload
  • Online Kim Var

© Copyright Laydo.net Webmaster Blog. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Back to Top