Kerem Özdemir
Üye
- Kayıt
- 6 Ağustos 2009
- Mesaj
- 69
- Tepki
- 4
// flash animasyon teknikleri //
/* ok grafiği olusturalım ve F8 ile convert symbol ile MovieClip secelim Registration
noktasını merkez olarak secip Ok diyelim instance name _arrow yazıyoruz ve sahnenin
ortasına izalıyalım.*/
/* Math sınıfını kullanarak kendinize ait animasyonlar geliştirebilirsiniz ancak flash
perspektifi yani x ekseni ve y ekseni hesaplarken dikkat edilmesi gereken nokta x doğrusu
sağa doğru artı değer alır y ise aşağıya doğru artı olarak hesaplanır. sahnenin sol üst
noktası 0'a - 0'dır. Bu bağlamda x soldan sağa artan yatay bir doğru olustururken, y yukarıdan
aşağıya dikey artan bir doğru olusturmaktadır. x'in 0'ı sol kenar, y'inin 0'da üst kenar
oluyor.
aşağıdaki örnekte dx hesaplanırken _arrow bulunduğu x değirinden farenin x değeri
ve dy hesaplanırken _arrow y değerinden farenin y değeri çıkarılarak ikisi arasındaki
uzak kenar hesaplanıyor(hipotenüs) ve her iki değerde Math.atan2() parametre olarak
veriliyor flash derece ile değil radyan ile işlem yapacağından atan2() nekadarlık bir
radyanla hareketi bizim icin hesaplıyor ve fareye göre ok hareket etmeye başlıyor*/
addEventListener(Event.ENTER_FRAME, onEnter);
function onEnter(e:Event):void
{
// x doğrusunun uzaklığı
var dx:Number = mouseX - _arrow.x;
// y doğrusunun uzaklığı
var dy:Number = mouseY - _arrow.y;
// radyan
var radians:Number = Math.atan2(dy,dx);
_arrow.rotation = radians * 180 / Math.PI;
trace(radians);
}
/* ok grafiği olusturalım ve F8 ile convert symbol ile MovieClip secelim Registration
noktasını merkez olarak secip Ok diyelim instance name _arrow yazıyoruz ve sahnenin
ortasına izalıyalım.*/
/* Math sınıfını kullanarak kendinize ait animasyonlar geliştirebilirsiniz ancak flash
perspektifi yani x ekseni ve y ekseni hesaplarken dikkat edilmesi gereken nokta x doğrusu
sağa doğru artı değer alır y ise aşağıya doğru artı olarak hesaplanır. sahnenin sol üst
noktası 0'a - 0'dır. Bu bağlamda x soldan sağa artan yatay bir doğru olustururken, y yukarıdan
aşağıya dikey artan bir doğru olusturmaktadır. x'in 0'ı sol kenar, y'inin 0'da üst kenar
oluyor.
aşağıdaki örnekte dx hesaplanırken _arrow bulunduğu x değirinden farenin x değeri
ve dy hesaplanırken _arrow y değerinden farenin y değeri çıkarılarak ikisi arasındaki
uzak kenar hesaplanıyor(hipotenüs) ve her iki değerde Math.atan2() parametre olarak
veriliyor flash derece ile değil radyan ile işlem yapacağından atan2() nekadarlık bir
radyanla hareketi bizim icin hesaplıyor ve fareye göre ok hareket etmeye başlıyor*/
addEventListener(Event.ENTER_FRAME, onEnter);
function onEnter(e:Event):void
{
// x doğrusunun uzaklığı
var dx:Number = mouseX - _arrow.x;
// y doğrusunun uzaklığı
var dy:Number = mouseY - _arrow.y;
// radyan
var radians:Number = Math.atan2(dy,dx);
_arrow.rotation = radians * 180 / Math.PI;
trace(radians);
}