Google Map ile çalışmak için ilk öncelikle

http://maps.googleapis.com/maps/flash/release/sdk.zip

yukarıdaki liknkten sdk yı indirerek

http://code.google.com/intl/tr-TR/apis/maps/documentation/flash/tutorial-flash.html

yukarıdaki linkte anlatıldığı gibi component kurulumunu yapıyoruz. Daha sonra google hesap bilgilerimiz ile aşağıdaki linkten

http://code.google.com/intl/tr-TR/apis/maps/signup.html

api keyimizi alıyoruz. Bu işlemleri tamamladıktan sonra Flash’da component panelinden google map’i sahneye sürükleyip bırakıyoruz ve actionscript panelimizi açarak, aşağıdaki gibi çalışacağımız kütüphaneleri import ediyoruz

import com.google.maps.Map;

import com.google.maps.LatLng;

import com.google.maps.MapEvent;

import com.google.maps.MapType;

import com.google.maps.LatLngBounds;

import com.google.maps.overlays.MarkerOptions;

import com.google.maps.overlays.Marker;

import flash.display.Stage;

Bu arada marker iconu olarak kullanacağımız PNG formatındaki grafikleri file>import>import to stage yoluyla sahnemize import ediyoruz. Daha sonra bu grafikleri tek tek seçerek F8 tuşuna basıyoruz. açılan pencerede “export for actionscript” kutusunu işaretleyerek class alanına ilgili iconun ismini yazıyoruz

Tüm iconlar için aynı işlemi tekrarlıyoruz. Daha sonra tüm ikonları ana sahneden silebiliriz. Sildiğimiz iconlar class olarak libraryde saklanacaktır. Şimdi enlem boylam değerlerimize göre haritamızın sınırlarını belirleyelim,

var lats:Array = new Array(37.4419,37.3243,37.5411,37.5551,37.3454,37.3411);//Enlemler
var lons:Array = new Array(-122.1419,-122.2215,-122.1545,-122.2954,-122.1432,-122.1665);//Boylamlar // Bounds var maxlat = Math.max.apply(null, lats); var maxlon = Math.max.apply(null, lons); var minlat = Math.min.apply(null, lats); var minlon = Math.min.apply(null, lons);

Ekleyeceğimiz marker tipleri,

//Marker tipleri, 6 tane marker ekliyoruz (p:pharmacy, h:hospital)
var markerType:Array = new Array("h","p","h","p","p","h");

Haritamızı tanımlayıp sahneye ekliyoruz,

var map:Map =  new Map();
map.key = "api keyiniz";
map.setSize(new Point(stage.stageWidth,stage.stageHeight));//harita boyutlarını stage in boyutlarına eşitliyoruz
map.x = 0;
map.y = 0;
map.addEventListener(MapEvent.MAP_READY, onMapReady);
this.addChild(map);

marker ekleme fonksiyonumuz

function addMarker(i){

var markerOptions:MarkerOptions = new MarkerOptions({});
markerOptions.draggable = false;
markerOptions.hasShadow = false;

if(markerType[i]=="h"){

var newicon_h:hospital = new hospital();

addChild(newicon_h);

markerOptions.icon = newicon_h;

}else if(markerType[i]=="p"){

var newicon_p:pharmacy = new pharmacy();

addChild(newicon_p);

markerOptions.icon = newicon_p;

}

var point:LatLng = new LatLng(lats[i],lons[i]);
var markerLocal:Marker = new Marker(point, markerOptions);
map.addOverlay(markerLocal);

}

markerlarımızı haritaya ekliyoruz,

function onMapReady(event:Event):void{

var latLngBounds:LatLngBounds = new LatLngBounds(new LatLng(minlat,minlon), new LatLng(maxlat,maxlon));//sinirlari belirliyoruz

map.setCenter( latLngBounds.getCenter(), map.getBoundsZoomLevel(latLngBounds), MapType.NORMAL_MAP_TYPE);//sınırlara gore belirledigimiz zoom seviyesini bir azaltarak haritayi ortaliyoruz

for (var i=0; i < markerType.length; i++) {addMarker(i);}

}

Sonuç :

Adobe AIR (Adobe Integrated Runtime) bir platform ve aslında web geliştiricilerinin işine çok yarayacak bir teknoloji. Çünkü bu platform HTML, JavaScript, AJAX, ActionScript, XML, Flash, Flex ve Dreamweaver gibi çok kullanılan web yazılım ve geliştirme araçlarını kullanarak masaüstü uygulamalar geliştirebilmenizi sağlıyor. Yani bir AIR uygulaması geliştirebilmek için Adobe Flash, Flex veya Dreamweaver programlarından birini kullanıyor olmanız yeterli. Bununla ilgili biraz daha bilgi verdikten sonra, Flash üzerine kurup bir AIR projesi nasıl açılır göstereceğim, sizler projenize göre Flex veya Dreamweaver üzerinde de deneyebilirsiniz bir farkı yok.

 

Adobe AIR in bir diğer özelliği de platform bağımsız çalışabilmesi. Şu anki AIR 2.0 sürümüyle uygulamanızı Windows, Linux ve Mac OS işletim sistemlerinde kullanabilirsiniz. Aslında AIR bir anlamda büyük bir değişiklik olarak nitelendirilebilir, web ve masaüstü uygulamalara farklı bir bakış açısı getirerek web uygulamanızı birden masaüstü uygulamasına dönüştürülebilir hale getiriyor. Yani bi bakıma “klasik web uygulamanız bir anda gerçek zamanlı çalışabilen bir exe ye dönüşüyor” diye düşünebilirsiniz. Bu özellik web geliştiricileri için çok büyük kolaylık olmuş. Çünkü masaüstü bir uygulama yapmak için C++ gibi başka bir dil öğrenmelerine gerek kalmıyor.

 

Şimdi Adobe Flash CS3 kullanarak bir AIR uygulaması nasıl geliştirilir adım adım buna bi bakalım.

Öncelikle http://labs.adobe.com/ adresinden kullandığınız Flash sürümüne (CS3 veya CS4) ve işletim sistemine uygun AIR update i indirin. İndirdikten sonra Flashı açtığınızda karşılama ekranında artık bir air uygulaması geliştirme kısayolu göreceksiniz.

 

welcomesreen

Devamını okuyun »

Merhaba arkadaşlar, bu yazıda oda oyunumuza devam edeceğiz. Önceki yazıda ilk odayı tamamlamıştık şimdi de ikinci odaya geçiyoruz.

 

Öncelikle odanın senaryosunu düşünelim. İlk odada başlangıç olduğu için basit bir senaryo kurgulamıştık. Tablonun üstüne tıklandığında arkasından anahtar çıkıyordu ve bu anahtarla odadan çıkabiliyorduk. Şimdiki odamızda ise biraz daha fazla aşamalı bir senaryo kurgulayalım. Mesela odaya bir numeratör koyalım 5 haneli şifre doğru girildiğinde anahtarı elde edebilelim. Tabi oyuncunun doğru şifreyi butonlara rastgele tıklayarak bulmasını istemek büyük haksızlık olacaktır çünkü 3024 olasılıktan doğru olanı bulması samanlıkta iğne aramaya benzer ve hiçbir oyuncu bu zahmete katlanamaz oyunu kapatır ve başka bir oyuna geçer. Bu yüzden oyuncuya bir ipucu vermemiz gerekiyor. Bu ipucuyu bir bilgisayar ekranında gösterebiliriz mesela. Bu durumda senaryoyu şöyle kurgulayalım. Odada bir kitaplık, masaüstü bir bilgisayar ve numeratörümüz olsun. Kitaplığın bir rafına gizli bir CD koyalım. Oyuncu bu CDyi bulursa bilgisayara taksın ve ekranda şifre belirsin. Doğru şifreyi numeratöre girsin ve anahtarı elde etsin, odadan çıkmayı başarsın. Senaryoyu hallettiğimize göre şimdi odanın tasarımına gelelim.

 

Bir önceki yazıda da odaya koyacağınız eşya resimlerini internetten hazır bulabilirsiniz veya uygun oda resimlerinden dilediğiniz objeyi kesip kullanabilirsiniz diye bahsetmiştim. Kafanızdaki senaryoyu işletebileceğiniz resimler olması şimdilik yeterli. İlerde daha ciddi işler yaparsanız objelerin tasarımını zaten grafiker arkadaşlar yapacaktır. Önceki odamız kırmızıydı bu odayı da yeşil oda yapıyorum. Odaya bir derinlik kazandırmak için çizgi toolunun yardımıyla odayı 3 boyutlu hale getiriyorum. Sonra da eşyaları yerleştiriyorum.

 

resim11

  Devamını okuyun »

Bu yazımda çoğunlukla internette oynanan oda oyunlarına örnek bir oyun anlatacağım. Tasarımını flashla ve yazımını actionscript3 le yapacağız. Oda oyunları nasıl bir şeydir ve bizimkinin mantığı ne olacak önce o konu hakkında bir bilgi vereyim.

 

Oda oyununda asıl mantık girilen odadaki eşyaların arasından gizli nesneleri bulup, hatta bu nesneler odadan çıkmana yardımcı olacak nesneler de olabilir, biriktirerek oda oda ilerlemektir. Her odanın kendine göre bir senaryosu vardır, bu senaryoya göre nesneleri bulup ilerlersiniz. Bunun birçok profesyonel örneğini internetteki oyunlar arasından bulabilirsiniz. Bizim oyunumuz ise bu oyunlara göre senaryosu daha basit olan bir oyun olacak. Tasarımdan biraz daha çok yazılım kısmına ağırlık vereceğiz. Çünkü profesyonel oyunlar büyük ekiplerle hazırlanır. Oyunun tasarımını yapan bir grafik tasarımcısı olur, senaryosunu yazan, müziklerini hazırlayan başka biri ve kodlarını yazan başka biri olur. Bunu daha alt birimlere ayırıp artırmak da mümkün.

 

Kendi oyunumuza dönecek olursak, ilk odayı giriş ve ısınmak amaçlı biraz basit hazırlayacağız. İlk senaryoda birçok eşya olan bir odaya gireceğiz. Eşyaların arkasında bize odadan çıkmak için gereken nesneleri arayacağız. Odadan çıkmak için bize gereken nesne bir anahtar. Bu anahtarı bulduğumuzda kapıyı açıp ilk odadan ikinci odaya geçiyoruz.

 

Öncelikle ilk odanın tasarımını yapalım. Odanın ne şekil aldığını oturttuktan sonra kodlarını yazabiliriz. Bir klasör açın ve içine bir flash dosyası ve bir actionscript3 dosyası açın. İsimleri aynı olsun. Ben “odadanKurtul” ismini verdim. Flash dosyasını açalım ve tasarımına başlayalım. Document class yazan yere de odadanKurtul yazmayı unutmayın. İlk oda “kırmızı oda” olsun. Bunun için açılan boş alanı kırmızıya boyuyorum ve bir oda derinliği ve izlenimi vermek için çizgi toolunun yardımıyla odaya derinlik veriyorum. Sıra eşyaları koymaya geldi. Eşyaları kendiniz çizebilirsiniz ama tasarım kısmıyla çok oyalanmayıp biraz kolaya kaçmak istiyorsanız benim gibi internetten eşya resimleri bulabilirsiniz. Ben odamı şöyle dizayn ettim.

Devamını okuyun »

AS3ten, .NET veya php de olabilir, webserviceler aracılığıyla bağlanmak için şöyle bir fonksiyon kullanıyoruz. Diyelim ki ben asp.net projeme bağlanmak istiyorum. Bunun için bağlantı yoluna .asmx uzantılı dosyamdaki bağlanmak istediğim webmethodun adını yazıyorum.

 

function sendService (id,cmd,args)

{

            //bağlantı yolu

            var scriptRequest:URLRequest = new URLRequest(“http://localhost:81/ws.asmx/sendCMD”);

            var scriptLoader:URLLoader = new URLLoader();

            var Vars:URLVariables = new URLVariables();

                                    

            scriptLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);

            scriptLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);

           

            //methoda gönderecegimiz parametreler                  

            Vars.to =id;

            Vars.cmd=cmd;

            Vars.args=args;

           

//post olarak gönderiyoruz veri alacaksak get kullanıyoruz             

            scriptRequest.method = URLRequestMethod.POST;

            scriptRequest.data = Vars;

                                    

            scriptLoader.load(scriptRequest);

                                    

            function handleLoadSuccessful(e:Event):void

            {

                         trace(“mesaj gönderildi.”);

                        //eger kullandıgınız method bir şey döndürüyorsa bunu kullanmak için söyle yazın

                         trace(e.target.data);

            }

                                    

            function handleLoadError(e:IOErrorEvent):void

            {

                         trace(“mesaj gönderilemedi.”);

            }

}

AS nin mantığını iyice öğrenebilmek için basit bir oyun yazmakla işe başlayabilirsiniz. Bunun için örnek olarak Action Script 3.0 ve flash kullanarak bir oyun hazırlayacağız. Oyunumuz şöyle olsun: karelerden oluşan bir platform çizelim ve oyuncu, bu platform üzerinde gizleyeceğimiz bir kareyi kendi koyduğumuz belli zaman dilimi içersinde platforma tıklayarak bulmaya çalışsın. Bulduğunda bir üst levela geçsin ve bir üst levelda gizlediğimiz bu kare bir önceki levela göre daha küçük olsun. Öncelikle platformumuzun ve gizleyeceğimiz karenin çiziminden başlayalım. Bir flash dosyası açıp ekrana soldaki menüden çizgi çizme kısayolunun yardımıyla aralıkları sabit 45×45 olan kareler çizelim. Platformumuzun görüntüsü şöyle olacak:

 

platform 

 

Devamını okuyun »

AS3te movie clip haline getirilmiş bir nesneyi sürükle bırak (drag n drop) yapmak için, öncelikle key ismini verdiğim movie clipi nesnesini oluşturuyorum.

 

MyKey = new key();

MyKey.x = 5;

MyKey.y = 15;

addChild(MyKey);

 

Ardından nesnemiz için sürükle bırak eventlarını tanımlıyorum.    

                       

MyKey.addEventListener(MouseEvent.MOUSE_DOWN, dragStarter);

 

MyKey.addEventListener(MouseEvent.MOUSE_UP, dragStopper);

 

function dragStarter(e:MouseEvent)

{

           foundKey.startDrag();

                                  

}

 

 

Burada herhangi bir koordinat belirleyelim ve eğer nesne bu koordinatlar içerisinde bir yere sürüklendiyse bırakılmasını isteyelim.

 

function dragStopper(e:MouseEvent)

{

            if(MyKey.x > 180 && MyKey.x < 200 && MyKey.y > 100 && MyKey.y < 150)

            {

                        MyKey.stopDrag();

                                              

            }

}

ActionScript, Flash geliştiricilerinin kullandığı, yapılan sunumun mantıksal işlemlerinin yapılmasını sağlayan script bir dildir. Nesne yönelimli programlama mantığıyla çalışması en büyük artılarından biridir. Java Scripte benzer yanlarıyla da bilmeyen biri için anlaşılması kolaydır. Anlatımına bazı kod parçalarıyla örnekler vererek devam edecegim.

 

Öncelikle uygulamamız için, aynı dosya içinde olmak üzere bir actionScript file ve bir flash file oluşturmamız gerekiyor. Adobe Flashın File/New seceneginden bu dosyaları oluşturun ve isimlerinin aynı olmasına dikkat edin. Aşağıdaki örnekte bu ismi Test olarak belirledim. Daha sonra flash dosyasının özelliklerine girin ve document class yerine de aynı ismi yazın. Oluşturduğumuz bu dosyaların isimleri ve koddaki public classımızın ismi de aynı olmalı. Çünkü mantık olarak düşünürsek bir arayüz yaratıyoruz, arayüze  mantıksal işlem yapan kod kısmını bağlıyoruz. Bu kod kısmının hangi class olduğunun anlaşılabilmesi için aynı ismi veriyoruz.

 

Şimdi basit bir, ekranda bir textfielda “hello world” yazan, ana syntaxı tanıyacağımız bi kod yazacağız. Bunun için de şu an kod yazacağımız kısımı .as uzantılı olan actionscript fileı kullanıyoruz.

 

AS3 kodlarımızı her zaman package{ } içine yazıyoruz ve ardından kodumuzun çalışması için gereken classları çağırıyoruz. Bunun için import deyimini kullanıyoruz. Sprite classı AS3 te temel classtır ve grafikler de dahil nesneleri göstermemize yarar. Diğer classlar yazdığımız koda göre değişir. Burada bie textfield oluşturduğum için TextField classını da çağırdım ve bu yeterli oldu. Daha sonra public classımızı oluşturuyoruz. Bütün kodlarımızı bu bloğun içine yazıyoruz.

 

 

Devamını okuyun »

© 2010 bilyaz.com , Programlama Makaleleri, Yazılım Makaleleri , Örnek Kodlar , Eğitim Videoları , C#,ASP.NET,SQL,PHP Suffusion WordPress theme by Sayontan Sinha