FileReference ile dosya kaydetme

01 Ekim 2009

alttaki kodlar ile kullanıcının bilgisayarına dosya kayıt yaptırabiliyoruz.
Özellikle String, ByteArray veya XML tarzı objelerde işe yarıyor.

var file:FileReference = new FileReference();
stage.addEventListener(MouseEvent.CLICK, fKaydet, false, 0, true);
function fKaydet(evt:MouseEvent):void {
 file.save(”FlashDersi.com.\nAS3 örnekleri”, “FD_com.txt”);
}

Eksen etrafında obje döndürme

18 Eylül 2009

sahnenizde mc1 adlı Movieclip olsun:
addEventListener(Event.ENTER_FRAME, f1);
mc1.z=10;
function f1(e:Event):void {
mc1.transform.matrix3D.prependRotation(2, Vector3D.Y_AXIS);
}

AS3 de Tween donma (freeze) problemi

26 Mart 2009

this[”tw”+Math.random()]=new Tween(sahnedekiMC,”scaleX”,Strong.easeOut,0,1,3,true);

Önceden tanımlamaya gerek duymuyor. Bu tek satır ile TWEEN çalışıyor ve aynı anda birçok TWEEN in kullanılmasında donma sorunu oluşmuyor.

IEventDispatcher uygulaması

19 Mart 2009

Sahnenizde 6 tane button olsun. Sahne adları sırayla : btn1_btn ,btn2_btn , btn3_btn  vs… olsun.

Frame’e şu kodları ekleyelim:

for(var no:uint=1;no<4;no++)
{
 dispecle(this[”btn”+no+”_btn”],MouseEvent.CLICK,f1);
}

for(var no2:uint=4;no2<7;no2++)
{
 dispecle(this[”btn”+no2+”_btn”],MouseEvent.ROLL_OVER,f2);
}

function dispecle(pecleyen:IEventDispatcher,olay:String,fonksiyon:Function)
{
 pecleyen.addEventListener(olay,fonksiyon);
}

function f1(evt:MouseEvent)
{
 trace(evt.currentTarget.name);
}

function f2(evt:MouseEvent)
{
 trace(evt.currentTarget.name);
}

Event fonksiyonunu başka yerden kullanmak

06 Şubat 2009

Farzedelim bir düğmeye bastığımızda çalışan fonksiyonu farklı bir durumda kullanmak istiyoruz. Bunu şu şekilde yapabiliriz ( sahnede bir düğme olsun:btn)

btn.addEventListener(MouseEvent.CLICK,f1);
function f1(evt:MouseEvent=null)
{
 trace(”ok”);
}

f1();

En üste getirmek

26 Ocak 2009

Sahnede kısmen üst üste binmiş 2 movieClip olsun ( mc1 ve mc2 ). Şo kodları yazalım:

mc1.addEventListener(MouseEvent.MOUSE_OVER,f1);
mc2.addEventListener(MouseEvent.MOUSE_OVER,f1);

function f1(evt:MouseEvent)
{
 addChild(MovieClip(evt.target));
}

Regular Expressions örneği (RegExp)

04 Aralık 2008

Alttaki sss string ‘inde bulunan 2 basamaklı numaraları kullanmak istiyoruz:

var sss:String=”xx11v22ngergn44mm77″;
var regE:RegExp=/\d{2}/g;
var obj1:Object;
while(obj1=regE.exec(sss))
{
trace(obj1[0]);
}

Array’deki elemanları kontrol ederek yeni bir Array elde etmek

21 Kasım 2008

var yaslar:Array=[17,19,23,2,55];
function yetiskinmi(elem:*, i:int, a:Array):String {
 if (elem<18) {
  return “çocuk”;
 } else {
  return “yetişkin”;
 }
}
var cocukYetiskin:Array=yaslar.map(yetiskinmi);
trace(yaslar);
trace(cocukYetiskin);

Array’deki elemanları kontrol etmek

21 Kasım 2008

var notlar:Array=[55,66,67,82,80];
function gecermi(not:*, i:int, a:Array):Boolean {
 return not > 49;
}

trace(notlar.every(gecermi));

/* tüm elemanlar şartı sağlıyorsa true
every yerine some (herhangi biri ) ve filter (şartı sağlayan elemanlar dizisini verir)  kullanmakta mümkün */

Array ‘deki elemanlara erişim

21 Kasım 2008

var dizi:Array = [“Art”, “Science”, “Math”, “History”];
function diziGoster(element:*, index:int, a:Array):void {
trace(“[“ + index + “] = “ + element);
}
dizi.forEach(diziGoster);

AS3 ile gelen bir özellik. Bence çok pratik.