www.gizliorman.net
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Bu site Secret-Forestin hayranları içindir.
 
AnasayfaGaleriLatest imagesAramaKayıt OlGiriş yap

 

 Fareyi Takip Eden Sembol, Hareket Kodlamak, ve ActionScript 3 ‘te Açı Kullanımı

Aşağa gitmek 
YazarMesaj
wantedteams




Erkek Mesaj Sayısı : 114
Yaş : 32
Nerden : Pardon Secretmelos.
Lakap : Ne diyorsun ya.
Kayıt tarihi : 09/02/09

Fareyi Takip Eden Sembol, Hareket Kodlamak, ve ActionScript 3 ‘te Açı Kullanımı Empty
MesajKonu: Fareyi Takip Eden Sembol, Hareket Kodlamak, ve ActionScript 3 ‘te Açı Kullanımı   Fareyi Takip Eden Sembol, Hareket Kodlamak, ve ActionScript 3 ‘te Açı Kullanımı Icon_minitimePerş. Şub. 12, 2009 11:16 am

(” Tırnak) işaretlerini yenilemeniz gerekmektedir

Oyun yazımında hedefi otomatik bulan bir tank, ya da fareye göre açısını belirleyen bir tabanca yapmanız gerekebilir. Ben TCDD için yazdığım tren smülasyonunda makinist musluğu gibi kolların; fare işaretçisi ile çevirilmesinde ihtiyaç duymuştum..

Sizin için birbirinden farklı iki animasyon kodu kullandım. Biri ENTER_FRAME diğeri Timer sınıfı.

Bu uygulamada ayrıca kullanıcının fare işaretçisinin konumunu farklı amaçlarla kullanmayı öğreneceksiniz.


// Öncelikle kibritin farenin x ve y konumuna göre dönmesini sağlayacağız..

// Timer değişkeni tanımlıyoruz. Saniyenin “binde birinde” hızıyla çalıştırıyoruz..
var kibritTakipTimer:Timer = new Timer(1 /* Bahsi geçen binde bir bu değerdir */);
/* Bu timer değişkenine bir dinleyici iliştiriyoruz
ve çağırması gereken fonksiyonu yazıyoruz (kibritTakipFnk) */
kibritTakipTimer.addEventListener(TimerEvent.TIMER, kibritTakipFnk);
// kibritTakipTimer için bir dinleyici ekle (Zamanlayıvı olayı ekle, kibritTakipFnk fonksiyonunu çalıştırsın);

// Zamanlayıcı olayı olan bu fonksiyonun görevlerini yazıyoruz.

function kibritTakipFnk(event:TimerEvent):void {
// fonksiyon kibritTakipFnk (olay: Zamanlayıcı Olayı):boş (değer döndürme)

/* Bu kısmı ezberlemenize gerek yok. Matematiksel bir formüldür. Burada kibritin rotasyonunu fareyle iliştireceğiz
y2 - y1 ve x2 - x1 in arc tanjantını 180 ile çarpıp Pi sayısına bölerek,
fare işaretçimizin kibrite yaptığı açıyı buluyoruz ve “.rotation” komutu ile dönme olayını
bu açı değerine göre yaptırıyoruz. */

kibrit_mc.rotation = Math.atan2((mouseY - kibrit_mc.y),(mouseX - kibrit_mc.x)) * 180 / Math.PI;
/* kibrit_mc ‘nin rotasyonunu mouseY- kibrit_mc.y ve mouseX-kibrit_mc.x ‘in arc tanjantı * 180 / pi yani 3.14… şeklinde ayarla */

// uyari_text ve diğerlerine istediğimiz değerleri bu şekilde yazdırabiliriz. Math.floor(); küsüratları tam sayıya çevirir.

uyari_txt.text = (”Kibritin fareye göre açısı: ” + Math.floor(kibrit_mc.rotation));
uyari2_txt.text = (”Aralarındaki Y eksenindeki mesafe: ” + Math.floor(kibrit_mc.y - mouseY));
uyari3_txt.text = (”Aralarındaki X eksenindeki mesafesi: ” + Math.floor(kibrit_mc.x - mouseX));
}

// Zamanlayıcıyı direkt başlatıyoruz..
kibritTakipTimer.start();
/* Timer ‘dan başka bir örnekle devam etmeyi tercih ettik. Buradaki amacımız ise kibritin fare işaretçisine doğru yol alması
ENTER_FRAME; animasyonu “saniyede fps kadar” film şeridinde ilerletir.
Yani “document properties” belirlediğiniz saniyede gösterilmesi gereken ekran sayısı; fps */

// Bir dinleyici ekliyoruz. enterFrmFnk fonksiyonunu çağırıyoruz

addEventListener(Event.ENTER_FRAME,enterFrmFnk)
// Bahsettiğimiz fonksiyonu burada yazıyoruz.
function enterFrmFnk(event:Event) {
// kibritin y ekseni kibritin y ekseni - fare işaretçisinin y ekseninden / 15
// şeklinde yazdığım formül gittikçe daralan bir sayıyı vereceğinden
// kibrit fareye yaklaştıkça yavaşlıyor. / 15 sadece değeri küçültmek içindi..
kibrit_mc.y -= (kibrit_mc.y - mouseY) / 15;
// ve aynı şekilde x eksenleri için
kibrit_mc.x -= (kibrit_mc.x - mouseX) / 15;

}

// www.mehmetoglu.org | Kaynak gösterilmeden yayınlanması ayıp ve yasaktır..
// Çalışan flash animasyon: http://mehmetoglu.org/as3_dersler/fare_takip_ve_aci.swf
// Çalışan proje dosyası(fla): http://mehmetoglu.org/as3_dersler/fare_takip_ve_aci.fla
Sayfa başına dön Aşağa gitmek
 
Fareyi Takip Eden Sembol, Hareket Kodlamak, ve ActionScript 3 ‘te Açı Kullanımı
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» ActionScript 3.0 ile for..in Kullanımı
» ActionScript 3 Dersleri 3
» ActionScript 3 ile Diziler
» ActionScript 3 Giriş
» ActionScript 3 Dersleri

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
www.gizliorman.net :: Flash Dersleri-
Buraya geçin: