11 Mart 2015 Çarşamba

Flash As3 ‘de Duman Efekti Oluşturma

  • Öncelikle Photoshop veya Başka bir resim düzenleme programında 40X40 boyutlarında bir *.png dosyası oluşturalım. Arkaplan şeffaf olsun.
  • dumanDuman.png dosyası isterseniz kullanabilirsiniz.
  • dumanyapimi_1dumanyapimi_2  photoshopta yapılanlar.
  • Sonra Fırça efektlerinden şekildeki gibi bir fırça efekti oluşturalım, oluşan resim üzerine duman benzeri fırça darbeleri oluşturalım. İsterseniz görünürlük ayarlarını düşürerek istediğiniz duman efektinin bir karesini oluşturun.
  • Aşağıdaki gibi bir klasör içinde bir önceki örnekteki gibi dosyaları flashta oluşturun ve kaydedin. Büyük/Küçük Harf ve isimler önenmli.
  • flash_as2_1
  • flash_as2_2 ornek.fla dosyasına Main.as bağlama
  • ornek.fla dosyasının kütüphanesine oluşan duman.png dosyasını ekleyelim. Ekledikten (ctrl+L) sonra sahneye çekin. Arkaplanda beyaz veya başka renk varsa parçalayıp (ctrl+B) kemet aracı ve sihirli değnek araçlarını kullanarak temizleyin. Sonra duman şekli sahnede seçili iken F8 ‘e basın. duman_mc isimli bir Movie Clip ‘e çevirin. Sahneden silin. Sonra şekildeki gibi bağlayın.
  • flash_as2_3duman_mc klibine sağ tuş özellkiler ile duman_mc.as dosyasını bağlama
  • Main .as dosyası içeriği;
package
{
import flash.display.Stage;
import flash.display.MovieClip;
import flash.events.Event;
import duman_mc;
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main() : void
{
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
private function loop(e:Event) : void
{
var Duman_mcnnesnesi:duman_mc = new duman_mc();
Duman_mcnnesnesi.x = 250;
Duman_mcnnesnesi.y = 250;
stage.addChild(Duman_mcnnesnesi);
}
}
}
  • duman_mc.as dosyası içeriği;
package
{
import flash.display.BlendMode;
import flash.display.MovieClip;
import flash.events.Event;
public class duman_mc extends MovieClip //duman_mc movie klibi için sınıf üretiyoruz
{
public var vx:Number;
public var vy:Number;
public function duman_mc() : void
{//görünürlük, boyut ve konumun rastgele alanlar olmasını sağlıyoruz
alpha = Math.random();
vx = Math.random() – Math.random();
vy = Math.random() * 3 – 5;
scaleX = scaleY = Math.random();
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
private function loop(e:Event) : void
{
alpha -= 0.01;
y += vy;
x += vx;
scaleX = scaleY += 0.02;
if (alpha < 0)
removeSelf();//görünürlük 0 dan küçük değere düştümü olay bitiyor.
}
private function removeSelf() : void
{
removeEventListener(Event.ENTER_FRAME, loop);
parent.removeChild(this);
}
}
}

Hiç yorum yok :

Yorum Gönder