Derslerdeki Kodları Göremeyenler Hakkında

Etiketler: , , 0 yorum

Bazı arkadaşlar derslerde bulunan kodları göremiyorlarmış. Sorun DNS adreslerinizden kaynaklanmaktadır. 

DNS Adreslerinizi 

8.8.8.8
8.8.4.4

veya 

4.2.2.1
4.2.2.2

yaparsanız sorun düzelecektir. Eğer nasıl DNS değiştirileceğini bilmiyorsanız aşağıdaki adreslerden bakabilirsiniz. 

AS3 Font Embedding

Etiketler: , 1 yorum

Öncelikle bu dersi anlatırken Flash Develop üzerinden gideceğim. Flash Develop için diğer derslere buradan ulaşabilirsiniz.


Action Script 3 ile yalnızca kod tabanlı çalışırken yazı eklediğinizde otomatik font neyse onu alır.
Fakat göze hoş görünmeyebilir veya siz başka fontlar da ekleyip, bu fontları kullanmak isteyebilirsiniz.

Başka fontları kullanmak için öncelikle o fontun elinizde bir dosyası bulunması gerekir. Örneğin ; ComicSansMS.ttf , bu ttf dosyası Comic Sans fontunun kaynak dosyasıdır.

Öncelikle kullanmak istediğiniz fontun dosyasını bulduktan sonra bu fontu oluşturmuş olduğunuz projenin lib klasörüne kopyalayın. Bildiğiniz gibi lib klasöründe proje için kullanacağımız kaynaklar (resimler, fontlar, swfler vs.) bulunur.

Fontu buraya koyduktan sonra fontun dosya ismini aklınızda tutun çünkü bu fontu sahneye Embed ederken bunu kullanacağız.

Font dosyasıyla işimiz bitti artık. Main.as (Ana Class) dosyamıza gelerek kodlarımızı yazalım ve fontumuzu kullanmak için içeri çekelim. İçeri Embed etmeden önce 2 tane TextField ve iki tane de TextFormat oluşturalım. Fontu TextFormat' a, TextFormat'ı da TextField için kullanacağız.

(Bu arada benim Embed edeceğim font ChickenButt isimli bir font (yazı tipi) ve bu fontu yazının en altındaki kaynak dosyadan elde edebilirsiniz. ).


Main.as için kodlar :



Kodların kısa açıklamaları üstlerinde yer almakta, o yüzden tekrar açıklamaya gerek duymadım.

Sonuç olarak test ettğimizde böyle bir şey çıkacak  :



AS3 ile Classlar Arası İletişim Kurmak ve Veri Aktarımı

Etiketler: , 0 yorum


Öncelikle AS3 kullanıcıları eğer OOP programlama ile uğraşıyorlarsa, buna mutlaka bir kere bile olsa ihtiyaç duyacaklardır. Başka bir Class içerisindekileri diğer bir Class' a aktarmak, aslında basit bir şey. Öncelikle OOP kurallarından iki şeye değinmek istiyorum.

Birincisi bütün değişken ve classların public,private değerleri vardır. Yani class içerisindekilerin diğer classlara (Türkçe olarak Sınıf) açık olup olmadığıdır. Public değerindekiler, diğer classlar tarafından kullanılabilir fakat private yalnızca kendi içerisinde barındırır.

İkincisi, import. Yani karşı tarafın içeri çağrılması gibi bir şey. Bu özellik kullanılmayan türler de olacağından, mesela bir .as dosyası içerisinde Sprite lar kullanılmaktadır ve MovieClipler kullanılmamaktadır; bu durumda yalnızca Spriteları import etmek daha akıllıcadır. İsraf yapmayın kısacası. Gerçi konumuzun bununla alakası yok ama importların şu özelliğinden yararlanacağız, başka bir  ( Public ) Class' ı diğer bir Class içerisine çağıracağız. Bu durumda onun tüm özelliklerine erişebileceğiz.

Kodlamaya başlamadan önce Flash Develop programını kullanacağımı belirtmek isterim. Ayrıca dersteki kodları görebilmeniz için DNS Adresini Değiştmelisiniz. 

Gerekli uyarı ve belirtmeleri yaptığıma göre artık başlayabiliriz. Öncelikle Main Class (Ana Class) ımızı oluşturduktan sonra yeni bir Class daha oluşturuyoruz, onun ismi de Degiskenler olsun. Buradan değişkenler oluşturup daha sonra Main Class' dan bu değişkenleri çekerek trace(); ile yazdıracağız.

Kodların hepsini verip genel anlatımı buradan yapacağım.

Main.as için Kodlar :





Degiskenler.as için Kodlar :





Publicler

Kodlarımızı açıklamaya geldi sıra. Öncelikle açmış olduğumuz Degiskenler isimli class' ın kodlarında, class tanımlarken kullandığımız "public class Degiskenler..." bu kodda en baştaki kelimemiz, diğer Class lardan ulaşabilmemiz için public olmalıdır.

Ayrıca bu Classta oluşturduğumuz ve daha sonra Main Class' a çekeceğimiz değişkenler de (veya bunlar sabitler de olabilirdi -public const.. şeklinde-) public değeri almalıdır. Aksi takdirde sadece class içerisi erişim olabilir, yani sadece kendi classında kullanılabilir.


Tanımlamalar

Degisken isimli Classımızda, constructor fonksiyon içerisinde değişkenlerimizi tekrar tanımlayıp, değerlerini verdikten sonra sıra geldi, bunlara Main (ana) Class' tan ulaşmaya.


Aktarıma Geçiş

Main Classımızda öncelikle public değer almış olan Degiskenler isimli Classımızı import ediyoruz. (5.satırda görüldüğü üzere.) Daha sonra yine ana Classımız içerisinde bir değişken oluşturuyoruz, bu değişken aslında Degiskenler isimli classımızın buradaki bir yansıması olacak. public var degiskenler dedikten sonra :Degiskenler diyerek bu değişkenimizin veri tipini Degiskenler classı olarak belirledik.

public var degiskenler:Degiskenler ;


Benzer Veri Tiplerinin Oluşturulması

Daha sonra bize lazım olan, yani diğer Class' ta da bulunan, değişkenleri içeri çekebilmek için o değişkenlere benzer veri tipi bulunduran dizi1, sayi1 ve boolean1 değişkenlerini oluşturuyoruz.


Yeni Verilerin, Diğer Classtan Çekilmesi

Main Classımızda bulunan Constructor fonksiyonuna gelerek veri tiplerini tekrar tanımlıyoruz. Fakat burada tanımlarken öncelikle degisken isimli değişkeni öncelikle tanımlamamız gerek. Daha sonra ise diğer değişkenlerimiz (sayi1, dizi1, boolean1) için bunun üzerinden erişim sağlayacağız. Tanımlarken şu şekilde tanımlıyoruz :

değişkenİsmi = new DeğişkenVeriTipi(degisken.benzerDiğerDeğişken);

mesela ;

sayi1 = new Number(degisken.sayi);

buradaki degisken.benzerDiğerDeğişken kısmı nokta(.) işareti ile onun içerisine, barındırdığı verilere erişmemizi sağlıyor.


Çekilen Verilerin Kontrolü

Artık verileri oluşturduğumuza göre geriye kalan bir tek bunları kontrol etmek kaldı. trace(); komutuyla verileri OutPut penceresinde yazdırıyoruz.

trace(dizi1);
trace(sayi1);
trace(boolean1);

Test ediyoruz ve görmek istediğimiz sonucu alıyoruz. :)





Drawing API Kullanarak Kod İle Çizim Yapmak

Etiketler: , 0 yorum

Bir önceki yazımda ( buradan ulaşabilirsiniz ) filtrelerin kullanımını işlerken Sprite üzerine Drawing API ile çizim yapmıştık. Bu tamamen apayrı bir konu olduğundan yeni bir yazıda ele almak istedim.

Öncelikle şunu söyleyeyim Shape ve Sprite sınıflarında Drawing API kullanabilirsiniz.

Drawing API ile basit şekiller, eğri çizgiler ve normal çizgiler çizebilirsiniz, çizdiğiniz şeklin içini doldurabilirsiniz ve o çizimi sadece ekranda çizim olarak yer tutmasını değil, buton gibi farklı işlevlerde de kullanabilirsiniz.


Öncelikle basit olarak Sprite' larla başlayalım ve bir sprite'ın içerisine çizim ekleyelim.

( Bunları yaparken Flash Develop programını kullanıyorum. Kodlar için basit bir program (NotePad++ gibi..) da kullanabilirsiniz fakat sonucu görebilmeniz için bir derleyici de gerekir. Flash Develop bunların hepsini barındırmakta. Ayrıca Adobe Flash' ı da kullanabilirsiniz. )

Çizimi eklerken şu komutları, çizimi kişiselleştirmek için kullanabiliriz (Kodları göremiyorsanız tıklayın.) :




Kullanacağımız kodlar bu kadar ve üzerlerinde açıklamaları mevcut. Bunun için artık yapacağımız asıl örneğe geçebiliriz.

Yapacağımız örneğin kodları :



Kodları tekrardan açıklamaya gerek duymuyorum. O yüzden direk sonucu vereceğim :



AS3 ile Filtre Efektleri - Filters

Etiketler: , 0 yorum

Flash üzerinde nesneleri göze daha iyi görünür hale getirmek ve bulunduğu ortama uyarlamak için filtreleri sıkça kullanabiliyorduk. Bunu Flash'ı kullanmadan, sadece kodlarla da yapabiliriz.

İlk önce bu efektlerin ne olduğundan bahsetmek istiyordum fakat onun yerine kullanarak sonucu görmek daha iyi ve benim için de anlatımı basit olacaktır.

--Bu örneği yaparken Flash Develop programını kullandım. Gayet iyi bir program, öneririm.



Öncelikle belirteyim, bu örneği yaparken nesneyi kod ile çizeceğiz, bu konuya daha önce blogumda yer vermemiştim fakat bundan sonraki yazımda ona deyineceğim. 

Kodları vereyim ve açıklayarak devam edelim. Kodlar bunlar (Eğer kodları göremiyorsanız şuradan nasıl açabileceğinizi öğrenebilirsiniz.) :




Kodların kabaca açıklaması kod satırlarının üstlerinde yer almakta fakat ben tekrardan açıklayarak anlatma gereği duyuyorum. Öncelikle nesne, bevel, glow ve blur gibi değişkenler oluşturduk. Bunlardan nesne, Sprite veri türüne sahip. Yani kod ile çizeceğimiz ve ekrana ekleyeceğimiz olan. Diğer kalan 3 tane ise nesneye ekleyeceğimiz efektler.

Değişkenleri belirledikten sonra nesneOlustur ve filtreAyarlari adında iki fonksiyonumuz var. nesneOlustur fonksiyonunda -daha sonra da deyineceğimi söylediğim- sprite ile nesne çizimini yaptık ve addChild komutu ile nesnemizi sahneye ekledik.

filtreAyarlari fonksiyonu ise şimdi asıl ilgilenmemiz gereken kısım. Öncelikle filtrelerimizin hepsini yeniden  (... = new ...) biçiminde tanımladık. Daha sonra ise onlara ait olan (hepsini bir defada kullanmadığım) ;

quality : Verilen efektin kalite değeri, çok fazla abartıldığında gözü alabiliyor. Aşırıya kaçmamak gerek.
blurX : Yatay bulanıklaştırma miktarı.
blurY : Dikey bulanıklaştırma miktarı.
distance : Verilen efektin ulaşacağı maksimum uzaklık.
alpha : Transparanlık değeri.
angle : Açı değeri.
inner : Boolean (true veya false) değeri alan ve efekti içeriye doğru uygulayan komut.
knockout : Boolean (true veya false) değeri alan ve efekti dışarıya doğru uygulayan komut.
color : Efekt içerisindeki gölgenin rengi.

özellikleri ayarladık. Eğer bu özellikleri teker teker belirtmezseniz, otomatik değerler sizin vereceğiniz değerlerin yerini alır.

Özellikleri belirledikten sonra bu efektleri çizdiğimiz nesneye aktarmak için şu komutu kullandık.

nesne.filters=[bevel,glow,bevel]

Burada parantez içlerine efektleri en başta değişken olarak eklediğimizde verdiğimiz isimleri kullandık. Daha sonra test ederek sonucu elde ettik.

Kaynak dosyayı indirmek için tıklayınız.  


Ayrıca daha fazla bilgi ve açıklama için şu siteye bakabilirsiniz.

Farklı Türden Değişkenleri Stringe Aktarma

Etiketler: 0 yorum



AS3 üzerinde, string olmayan çeşitli değişkenleri Textlere aktarmak veya başka türden değişkenlerle birleştirip bunu yazdırmak için kullandığımız bir tür metot var.



var bosText:TextField=new TextField();
var sayi1:Number=new Number(5);

addChild(bosText);
trace(sayi1);
bosText.text=sayi1;



Bu şekilde denediğimizde Flash' ın vereceği bir hata ile karşılaşırız. Çünkü buradaki fark karpuzu, elma poşetine sokmaya çalışmak gibi bir şey. Yani birbiriyle uyuşmayan türden şeyleri bir arada bulundurmaya çalışmak.

Bu problemi aşmak için de farklı bir değişkeni, Stringe aktaracağız. Bu değişkenimiz üstteki kodlarda bulunan sayi1 isimli Number türü değişkeni.

Bunu yapmak için ise String komutu içerisine değişkeni alacağız.



var bosText:TextField=new TextField();
var sayi1:Number=new Number(5);

addChild(bosText);
trace(sayi1);
bosText.text=String(sayi1);




Evet, bu şekilde oldu. Bir nevi bir dönüştürme uyguladık ve textimize Number türü bir değişken aktardık. 


AS3 ile Kar Efekti

Etiketler: 0 yorum



Bu uygulamayı aslında yılbaşı zamanlarında yapmam gerekliydi ama neyse. :D

Öncelikle bunu yapabilmek için bir adet kar tanesi çiziyoruz ve movieClip haline getiriyoruz. MovieClip haline getirirken Advanced sekmesinden Export for Action Script seçeğini işaretliyoruz ve Class ismine karTanesi yazıyoruz. Bu isim onu kod ile ekrana kolayca çekmemize yarayacak. Her kar tanesini teker teker çekmek sorunlu olurdu ve canını sıkardı insanın sanırım. :)

MovieClip' i oluşturduktan sonra bir kaç değişken oluşturmamız gerekecek, bunlar kodların 5 ve 10. satır aralığında bulunuyorlar.

Sanırım bu kadar açıklama yeterli, zaten çok fazla ek bir şeye gerek yok. Sonuç olarak şöyle bir şey çıkarttım :








Konu olarak burada zaten blogda da ararsanız bulabileceğiniz for each, function, addEventListener, TimerEvent ve Timer, addChild, Math.random, width-height, Array ve değişkenleri kullandım. Basit bir uygulama oldu, yorum yaparsanız sevinirim.


Mouse Hareketine Göre Dönen MovieClip

Etiketler: 0 yorum




Bir arkadaşın isteği üzerine yazıyorum bu dersi. Kutuları Vur oyunumdaki sistemi sormuş ve anlatayım dedim.


Bu işlevi gerçekleştirirken Math komutlarından atan2' den yararlanacağız.

Sistem şöyle işleyecek :

Bir movieClip olacak ve bu movieClip Mouse hareketlerine göre, yani mouse ile yaptığı açıya göre aynı konumda olacak.

Yapmadan önce hareket edecek olan mc içi bir şey söylemek istiyorum. Çizilen hareketli mc' ye çevirecekken Registration Point yani referans noktasını düzgün belirlemeniz. Eğer namlu biçimde olacak orta alt noktasını seçmeniz daha makul olur. Bu nokta sabit kalacak kısmı gösterir.

Instance name' i mcHareketli olsun hareket edecek nesnemizin. Tabi mesela bu sistemi mouse'a göre dönen göz örneklerinde de yapabilirsiniz.

Kodlar burada :











 
Action Script - Türkiye © 2012 | Designed by Meingames and Bubble shooter