İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

16/08/2008 - 14:29:39 cevap (5) Okunma : 446 Bu yazıyı 1 kişi tuttu.

as3&2 startDrag(); ile birden fazla obje?

Merhaba..

startDrag(); fonksiyon hakkında bir sorum olacak..

İki mc var. startDrag(); fonksiyonu; iki objeden birine yazarak iki objeyi birden taşıtmak istiyorum.

Kendi bulduğum ama işe yaramayan çözümleri yazacğım. Başka bir çözüm farz oldu şu aşamada.

İki objeden birini addChild ile diğerinin içine aktarmak enterFrame ve Timer fonksiyonlarını kullanarak taşınan objeyi takip ettirmek. bir_mc.startDrag(); iki_mc.startDrag(); şeklinde yapmakta işe yaramıyor.

Bunlar dışında nasıl bir yok izleyebilirim. Hatta direkt bir komut var mı?

Sevgiler..

adres MotionCoder profilini göster
Mehmet KARACA 16.08.2008 15:35:00
En iyi cevap mı ?

merhaba

drag olacak movieClip leri bir dizide mouse ye ulan x,y fark ları ile tutarsak bek-lki isine yarar


stage.scaleMode = "noScale";
stage.align = "lt";

function dragHandler( e:MouseEvent ):void{
    for each (var i in mc_ler)
    {
        var hedef:Object = { x:i.farkX + stage.mouseX , y:i.farkY + stage.mouseY }
        i.instance_name.x = hedef.x; 
        i.instance_name.y = hedef.y ;
    }
}

var mc_ler:Array = [
                    { instance_name:mc1,    farkX:100, farkY:-100 },
                    { instance_name:mc2,    farkX:50, farkY:150 },
                    { instance_name:mc3,    farkX:-10, farkY:-200 },
                    { instance_name:mc4,    farkX:-120, farkY:30 },
                    ];


stage.addEventListener( MouseEvent.MOUSE_DOWN , function(){
        stage.addEventListener( MouseEvent.MOUSE_MOVE , dragHandler )                                                         
})
stage.addEventListener( MouseEvent.CLICK , function(){
        stage.removeEventListener( MouseEvent.MOUSE_MOVE , dragHandler )                                                          
})

no: daha elastik bir drag için Tweener’e yukarıdaki örnek deki hedef Object ini göndere bilirsin .

kolaygelsin..<<

adres Gazing profilini göster
Yağız Gürgül 16.08.2008 15:41:20
En iyi cevap mı ?

Objelerin isimleri:


obje0
obje1

Kodumuz:


obje0.addEventListener(MouseEvent.MOUSE_DOWN,obje1Surukle);
obje0.addEventListener(MouseEvent.MOUSE_UP,obje1Durdur);
//
var xOffSet:Number;
var yOffSet:Number;
//
function obje1Surukle(e:Event) {
    xOffSet=obje1.x-obje0.x;
    yOffSet=obje1.y-obje0.y;
    //
    obje0.startDrag(false);
    obje1.addEventListener(Event.ENTER_FRAME,izleRender);
}
function obje1Durdur(e:Event) {
    obje0.stopDrag();
    obje1.removeEventListener(Event.ENTER_FRAME,izleRender);
}
function izleRender(e:Event) {
    obje1.x=obje0.x+xOffSet;
    obje1.y=obje0.y+yOffSet;
}
adres MEHMETOGLU profilini göster
Burak AYDIN 18.08.2008 11:28:11
En iyi cevap mı ?

Çok teşekkürler arkadaşlar..

Mehmet KARACA ağabeyim verdiğiniz kodda anladığım kadarıyla fonksiyondan değer dönüyor. Bu enter framede oolduğu gibi gecikmeye neden olmaz ise ki olmayacağını tahmin ediyorum işimi görecektir.. tekrar teşekkür ederim

Yağız verdiğin kodlar güzel gözüküyor bir de eğer biliyorsan senden şunun çözümünü soracğm. Burada fps olayı işi bozuyor. Enter frame saniyede 50 kez bile çalışsa bir kullanıcı elini çok hızlı hareket ettirip flashın hızını geçiyor. böylece arkadan gelen mc ler geride kalıyor. İşte bunun çözümünü bulamadığım için enter ve timer den vazgeçmiştim. Ama bunun bir çözümü varsa bekleiyorum…

sevgilerle..

adres MotionCoder profilini göster
Mehmet KARACA 18.08.2008 23:09:12
En iyi cevap mı ?

merhaba

takılma olacagını sanmıyorum. ama taklıma olursa alttaki kodu ekleye bilirsin.

e.updateAfterEvent();

kolaygelsin..<<

adres Gazing profilini göster
Yağız Gürgül 19.08.2008 18:32:02
En iyi cevap mı ?

Kodlarımdaki şu fonksiyonu:


function obje1Durdur(e:Event) {
    obje0.stopDrag();
    obje1.removeEventListener(Event.ENTER_FRAME,izleRender);
}

Şunla değiştirirsen:


function obje1Durdur(e:Event) {
    obje0.stopDrag();
    obje1.x=obje0.x+xOffSet;
    obje1.y=obje0.y+yOffSet;
    obje1.removeEventListener(Event.ENTER_FRAME,izleRender);
}

Hiç bir sorun yaşamazsın :) Kolay gelsin…

aç-kapa Bu Yazıyı Tutanlar

aç-kapa İlşkili Sorular

yeni üyelik | şifremi unuttum

aç-kapa Yarışma 5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması

5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması

5.İstanbul Uluslararası Animasyon Festivali, 24-30 Kasım 2008 tarihleri arasında gerçekleştirilecektir. Festival dahilinde gerçekleşen 5. İstanbul Ani...
Kategori: Yarışma

aç-kapa Konferans TIME 2008 Interpro Forum Telekom, Internet, Medya, Eğlence Konferansı

TIME 2008 Interpro Forum Telekom, Internet, Medya, Eğlence Konferansı

Program 1 Aralık 2008 Pazartesi 08:00-12:00 Kayıt 10:00-10:30 Ana Oturum Türkiye’de Yeni Nesil Telekom Hizmeti Cengiz Anık – Avea, Ge...
Kategori: Konferans

aç-kapa Çalıştay Dirty99, 9. Pazarlama Zirvesi Etkinliği

Dirty99, 9. Pazarlama Zirvesi Etkinliği

Dirty99, 9. Pazarlama Zirvesi süresince 99 özel pazarlama profesyoneli ile, 99 dakikalık bir workshop çalışması! Özellikle interaktif pazarlama araçla...
Kategori: Çalıştay

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 753 (0 kayıtlı, 753 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul