FlexDersi.com - Flex , AIR vs... örnek ve uygulamaları - Hakan KIRIK

SAYFA1

12.Haziran.2008 - Flex 3 ile Flash Player 10 için ilk oyun

Flash 10 Player'inde x ve y koordinatlarının yanında z ekseni için de özellik geldi. Yani artık MoviClip'lerin mesela z değerini değiştirebileceğiz.

Bunlarla ilgili bir oyun yaptım (oyun dediğime bakmayın, kod bazlı basit bir örnek:

TıklaHemen

(sol üstteki gri düğmeden zamanı başlatın ve tüm kutuları tıklayarak harekete geçirin, tüm hepsini harekete geçirince zaman duracaktır. Maksak kısa sürede bunu yapmak ... Firefox'da çalışmıyor, ayrıca Flash Player 10 şart)

Merak edenlere:

package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.*;
import flash.utils.getTimer;

[SWF(width="800", height="600", backgroundColor="#ffffCC", frameRate="60")]
public class Zmodu extends Sprite
{
private var mc1:MovieClip;
private var adet:Number=30;
private var mcmcm:MovieClip;
private var zzz:Number=4;
private var basla:Boolean=false;
private var baslaZaman:Number=0;
private var topAdet:Number=0;
private var tf:TextField;
private var gecenSure:Number=0;

public function Zmodu()
{
this.transform.perspectiveProjection.fieldOfView = 80;
var mcbtn:MovieClip=new MovieClip();
mcbtn.graphics.beginFill(0xCCCCCC);
mcbtn.graphics.drawRect(0,0,100,25);
addChild(mcbtn);
mcbtn.addEventListener(MouseEvent.CLICK,fBasla);

tf = new TextField();
tf.y = 5;
tf.x=700;
var format:TextFormat = new TextFormat();
format.font = "Verdana";
format.color = 0x000000;
format.size = 12;
format.align = "center";
tf.defaultTextFormat = format;
tf.selectable = false;
//tf.text = "deneme";
tf.width = 100;
addChild(tf);

init1();
}
private function fBasla(e:MouseEvent)
{
baslaZaman=getTimer();
basla=true;
}
private function init1():void
{
for(var i:uint=0;i<adet;i++)
{
mcmcm=new MovieClip();
mcmcm.graphics.beginFill(0xFFFFFF*Math.random());
mcmcm.graphics.drawRect(0,0,150,150);
addChild(mcmcm);
mcmcm.x=600*Math.random();
mcmcm.y=400*Math.random();
mcmcm.zz=zzz;
mcmcm.addEventListener(MouseEvent.CLICK,fKlikmc);
this.addEventListener(Event.ENTER_FRAME,fEntMain);
}
}
private function fKlikmc(e:MouseEvent)
{

if(basla==true)
{
e.target.addEventListener(Event.ENTER_FRAME,fEnt);
e.target.removeEventListener(MouseEvent.CLICK,fKlikmc);
topAdet++;
if(topAdet==adet)
{
basla=false;
}
}
}


private function fEnt(e:Event)
{


e.target.z+=e.target.zz;
if(e.target.z>300 || e.target.z<-300)
{
e.target.zz*=-1;
}
e.target.rotationX+=3;
}
private function fEntMain(e:Event)
{

if(basla)
{
gecenSure=getTimer()-baslaZaman;
tf.text=(gecenSure/1000).toFixed(2);
}
var mc:MovieClip;
for(var i:uint=0;i<adet;i++)
{
var indis:Number=0
//mc=this.getChildAt(i) as MovieClip;
if(this.getChildAt(i).z<0)
{
indis=-this.getChildAt(i).z+300;
}
else
{
indis=300-this.getChildAt(i).z;
}


this.setChildIndex(this.getChildAt(i),indis);
}
}
}
}

 

11.Haziran.2008 - Flex 3 ile Flash Player 10 için ilk deneme

Flash CS4 çıkmamış olsa bile, Flash Player 10 için uygulamaları Flex 3 ile yapabiliyoruz. Bunun için:

http://labs.adobe.com/technologies/flashplayer10/ sayfasında bulunan alttaki listeyi adım adım eksiksiz tamamlayıp, 6. adımda bulunan Flex SDK güncellemesini de eksiksiz yapmak gerekiyor.

Eğer tüm bunları yaptıysanız Flex 3 de yeni bir Actionscript Project açalım.

Amaç: yeni gelen dinamik ses oluşturmaya bakış.

Project ismi : ses olsun ve alttaki kodları yazalım:

package
{
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.TextField;

[SWF(width="800", height="600", backgroundColor="#ffffCC", frameRate="30")]
public class ses extends Sprite
{
private var sound:Sound;
private var noise:Number = 0;
private var mcmc:MovieClip;
private var solsag:Number=2;
private var frek:Number;

public function ses():void
{
mcmc=new MovieClip();
mcmc.graphics.beginFill(0xCCCCCC);
mcmc.graphics.drawCircle(0,0,20);
addChild(mcmc);
mcmc.x=10;
mcmc.y=150;
mcmc.addEventListener(Event.ENTER_FRAME,fEnter);
sound = new Sound();
sound.addEventListener(Event.SAMPLES_CALLBACK, onCallback);
sound.play();
}

private function fEnter(evt:Event):void
{
mcmc.x+=solsag;

if(mcmc.x>700)
{
solsag*=-1;
}
if(mcmc.x<0)
{
solsag*=-1;
}
}

private function onCallback(e:SamplesCallbackEvent):void
{
for(var i:uint=0; i<512; i++)
{

frek=(mouseX-mcmc.x)*44100/1400;

noise += (frek) / 44100;
var sample:Number = noise * Math.PI * 2;
if(frek<0)
{
sound.samplesCallbackData.writeFloat(5);
sound.samplesCallbackData.writeFloat(Math.sin(sample));
}
else
{
sound.samplesCallbackData.writeFloat(Math.sin(sample));
sound.samplesCallbackData.writeFloat(5);
}
}
}
}
}

Çalıştırırsanız farenizin movieclip'e olan uzaklığına göre farklı frekansta ses oluştuğuna tanık olacaksınız.

13.Ocak.2008 - Flash CS3 ile AIR uygulamaları yapmak. İlk deneme

5.Ocak işlemlerini doğru yapıp yapmadığımızı test edelim :

  1. Flash'ı açalım.
  2. Welcome Screen görünecektir. Buradan Cretae New -> Flash File (Adobe AIR) seçelim.
  3. Sahnemize Text Tool ile bir text kutusu koyalım. "Merhaba dünya" yazalım.
  4. Ctrl+ENTER ile çalıştıralım

Eğer açılan pencere AIR penceresi ise alt yapımız hazır demektir.

5.Ocak.2008 - Flash CS3 ile AIR uygulamaları yapmak. Ön hazırlık

Bunun için sizin de ön hazırlık yapmanız gerekiyor.

1. Flash CS3 'ü güncellemeniz gerekiyor. Buradan : http://www.adobe.com/support/flash/downloads.html veya fazla uğraşmadan bunu tıklayınız. Ve sonra kurunuz.

2. Buradan ise Adobe AIR Beta 3 Installer 'ı indirip kurmalısınız. Eski versiyon kurulu ise kaldırmalısınız öncesinde.

3. Buradan ise Flash CS3 V9.0.2 ile AIR uygulamaları yapmanızı sağlayan AIR:Flash CS3 Professional Update 'ı indirip kurmalısınız.

Bu işlemler sonucunda Flash CS3 ile AIR uygulamaları hazırlamanız mümkün olacaktır.

İlk fırsatta güncelleyeceğim.

Hakan KIRIK
www.FlashDersi.com
hakan@FlashDersi.com