Actionscript 3.0 ile arkaplan resmini tam ekran (fullscreen) yapalım
13 Aralık 2009, admin
[adrotate group="2" banner="1"]
Daha önce anlatmış olduğum; Flash ile arkaplan resmini tam ekran (fullscreen) yapmak.. başlıklı derste, Actionscript 2.0 kullanmıştım. Gelen bir soru üzerine veya istek de diyebiliriz, aynı konuyu bu sefer actionscript 3.0 kullanarak anlatacağım. Burada aynı şeyleri tekrarlamamak için kodu yazarak açıklamasını yapmak ile yetineceğim. Çünkü kodlama haricinde diğer bahsedilenler, As2 dersinde bahsedilenler ile hemen hemen aynı.
Aslında kodlamada olan değişiklik de, öyle köklü bir değişiklik değil. As2 ile as3 arasındaki büyük farklılıkların yanısıra bir de çeşitli yazım farklılıkları var. Ben burada bunlara değineceğim. Daha önceki derste anlattığım durum aynen geçerli. Yapılan iş aynı çünkü..
İlk iş; dosya açarken Actionscript 3.0 ‘ı seçmek, daha sonra resmimizi ekliyoruz, movieclip (mc) ‘e çeviriyoruz (bkz. dersAs2) ve image_mc örnek isimli mc’mizin bulunduğu layer (katman)’ın üzerine yeni bir katman açıyoruz. Bu katmana as3 kodumuzu ekleyeceğiz (Buraları çok çabuk geçmişsin diyen arkadaşlar; Lütfen başta bahsettiğim derse bakınız!).
Evet aşağıdaki kodumuzu katmanımıza ekliyoruz (F9).
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.addEventListener(Event.RESIZE, resizeHandler);
function resizeHandler(event:Event):void {
setBackground();
}
setBackground();
function setBackground(){
var middleX = stage.stageWidth/2;
var middleY = stage.stageHeight/2;
image_mc.x = middleX;
image_mc.y = middleY;
image_mc.width = stage.stageWidth;
image_mc.height = stage.stageHeight;
if(image_mc.scaleX > image_mc.scaleY) {
image_mc.scaleY = image_mc.scaleX;
}else{
image_mc.scaleX = image_mc.scaleY;
}
}Farkettiyseniz As2 kodundan farklı olarak bikaç yazım değişikliği var. Mesela As3′te artık alt çizgi olayı çoğu yerde kullanılmıyor (_x,_y yerine x,y..vb).
Evet şimdi açıklayalım. Şöyleki;
İlk olarak boyut sınırlamasını kaldırdım, ve hizalamayı belirledim (top-left: üst-sol).
Daha sonra sahneye, RESIZE olayını dinlemesi için bir olay dinleyici ekledim ve resizeHandler fonksiyonuna bağladım. Burada setBackground isimli başka bir fonksiyonu çalıştırıyorum. Buradaki fonksiyon, sahne boyutu değiştiğinde çalışacak olan fonksiyon. Hemen altına da ilk açıldığında boyutlanması için tekrar bir setBackground fonksiyonu ekliyorum.
setBacground fonksiyonu içerisinde de; ilk önce sahnenin orta noktasını, yarattığım değişkenlere (variable) atadım. Daha sonra image_mc örnek isimli resmimi bu noktalara yerleştirdim, yani sahneye ortaladım. Resmimin genişliğini ve yüksekliğini sahne boyutlarına eşitledim, ve son olarak if else kullanarak orantıyı oluşturdum, yani bu son kısım oranlı büyüme ve küçülmeyi sağlıyor.
CTRL + ENTER ile .swf dosyamızı çıkartalım ve kenarından köşesinden çekiştirelim resmin oranlı olarak büyüyüp küçüldüğünü göreceksiniz.
HTML’de nasıl tam sayfa yapılacağını başta bahsettiğim As2 dersinde anlatmıştım. Orada anlatılanlar aynen burası içinde geçerli.. Burada tekrar anlatmıyorum.
Kaynak dosyayı buradan indirebilirsiniz. Teşekkürler..




Ocak 10th, 2010 on 17:36
Eline sağlık kardeş!!
Ocak 6th, 2011 on 11:07
Gayet anlaşılır bir örnek olmuş, Teşekkürler…
Ocak 24th, 2012 on 19:00
merhaba,
benim yapmak istediğim şu;
http://www.weddingphotos.it/primapagina.html
bunu as3 ile nasıl yapabilirim, yardımcı olabilir misiniz?
Ocak 24th, 2012 on 19:28
merhaba,
benim öğrenmek istediğim, html sayfa içinde oynatılan movie’nin ekran çözünürlüğüne göre büyümesi veya küçükmesi.. bunu as3 ile nasıl yaparım?yardımınız için şimdiden teşekkürler..
Ocak 25th, 2012 on 14:15
Selam şu linke bir göz atabilirsin. Orada anlatmışlar..