11 Mart 2015 Çarşamba

Flash ActionScript 3.0 (as3) ile Mouse Takip Eden .Gözler

Fareyi takip eden gözler veya farenin konumuna göre silahın hareket ettiği animasyonlar için Türkçe kaynak az. Bunun için biraz matematik bilgisi kullanıyoruz. Fare ve nesne konumlarından yararlanarak aradaki açıyı hesap ediyor ve nesnenin dönme oranı olarak veriyoruz. Bunun için aşağıdaki resimdeki gibi iki adet göze benzeyen film klibi oluşturuyoruz. birinci film klibine isim olarak goz1_mc, diğerine goz2_mc verdik.

A nesnesinin mouse baktığında oluşan x ve  y değerlerine göre açının hesaplanması;
radyan= Math.atan2(a1, b1); //Yukarıdaki şekle göre flashta aradaki açının radyal cinisnden değeri
derece = radyan / (Math.PI / 180);//bulunan radyal değerin derece haline döndürme
Daha sonra Zaman Çizelgesi katmandaki ilk frame üzerine tıklıyoruz. Sonra F9 tuşu ile ActionScript paneline aşağıdaki kodları yazıyoruz;
stage.addEventListener(MouseEvent.MOUSE_MOVE,takipetfonk);
function takipetfonk(event:MouseEvent):void{
var a1=mouseY-goz1_mc.y;
var b1=mouseX-goz1_mc.x;
var radyan1=Math.atan2(a1,b1)//konuma göre açının radyal cinsten hesabı
var derece1=radyan1 / (Math.PI / 180);//derece haline çevirme
goz1_mc.rotation=derece1;
var a2=mouseY-goz2_mc.y;
var b2=mouseX-goz2_mc.x;
var radyan2=Math.atan2(a2,b2)
var derece2=radyan2 / (Math.PI / 180);
goz2_mc.rotation=derece2;
}

Hiç yorum yok :

Yorum Gönder