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

 

 Flash ile 3D

Aşağa gitmek 
2 posters
YazarMesaj
wantedteams




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

Flash ile 3D Empty
MesajKonu: Flash ile 3D   Flash ile 3D Icon_minitimeSalı Şub. 10, 2009 8:04 pm

İyi günler arkadaşlar.

Bu dersimizde basit bir 3D çizim yapmaya çalışacağız.

İlk önce sahneye bir daire çizelim. F8 ile bunu movie clip yapalım ve instance name ine top_mc diyelim. Layer da 1. frame e tıklayıp F9 tuşuna basalım ve actions panelini açalım ve aşağidaki kodu ekleyelim.
MovieClip.prototype.dondur = function(aci:Number) {
this.i = aci;
this.onEnterFrame = function() {
this.i += (_root._xmouse-(Stage.width/2))/1500;
this._yscale = this._xscale=this._y/((Stage.height/2)+y_oran)*100;
this._x = (Math.sin(this.i)*x_oran)+Stage.width/2;
this._y = (Math.cos(this.i)*y_oran)+Stage.height/2;
updateAfterEvent();
this.swapDepths(this._y);
};
};

top_mc._visible = false;
toplam_top = 15;
x_oran=100;
y_oran=50;
for (i=0; i<=toplam_top; i++) {
aci = (360/toplam_top)/(180/Math.PI)*i;
var yeni_top:MovieClip = top_mc.duplicateMovieClip("top"+i, i);
yeni_top._x = (Math.sin(aci)*x_oran)+Stage.width/2;
yeni_top._y = (Math.cos(aci)*y_oran)+Stage.height/2;
yeni_top.dondur(aci);
}


Evet şimdi bu kodumuza bir bakalim.Bu kodumuzda; movieclip içindeki i değerini fonksiyon parametresi olan acı değerine eşitliyoruz.Ardından onEnterFrame ile döngüye sokup kullanacağımız movieclip içindeki i değerini mouse'un hareketine göre arttırıp azaltıyoruz.

this._yscale = this._xscale=this._y/((Stage.height/2)+y_oran)*100;
Bu satırda movieclip'imizin genişliğini ve yüksekliğini eşitliyoruz.Nede olsa bu movieclip bir top olduğundan öyle olması gerekiyor

Movieclip'in x ve y kordinatlarını sin ve cos fonksiyonlarını kullanarak belirliyoruz


Ardından updateAfterEvent(); kodunu kullanarak sahneyi yeniliyoruz.Bu bize daha akışkan bir görüntü sağlıyor...

Son olarak movieclipin diğerlerinin önünde ya da arkasında olduğunu movieclip'in y kordinatına bağlı olarak değiştiriyoruz.

Tüm bu açıklamalardan sonra kodumuza şu satırları ekliyelim:

top_mc._visible = false;
toplam_top = 15;
x_oran=100;
y_oran=50;
for (i=0; i<=toplam_top; i++) {
aci = (360/toplam_top)/(180/Math.PI)*i;
var yeni_top:MovieClip = top_mc.duplicateMovieClip("top"+i, i);
yeni_top._x = (Math.sin(aci)*x_oran)+Stage.width/2;
yeni_top._y = (Math.cos(aci)*y_oran)+Stage.height/2;
yeni_top.dondur(aci);
}



Burada ilk başta top_mc'imizi görünmez yapıyoruz; çünkü ona komut vermeyeceğiz.

For döngüsü ile toplam_top değeri kadar i sayısını arttırıyoruz.

Ardından açı değerini Flash'in kullandığı radyan biriminden derece birimine çeviriyoruz.Bu bize çalısmanın başlangıcındaki tüm topların 3D olarak sıralanmasını sağlayacak.

Yeni bir top yaratıp bunun x ve y kordinatlarını daha önce bulduğumuz açı değerini sin ve cos fonksiyonlarını içine yazarak buluyoruz.


Bu açı değeri movieclip'e uygulayacağımız dondur fonksiyonunun parametresine yazıyoruz ve bu fonksiyonu çalıştırıyoruz.

yeni bir derste görüsmek uzere... iyi günler arkadaşlar.
Sayfa başına dön Aşağa gitmek
Admin
Admin
Admin
Admin


Erkek Mesaj Sayısı : 114
Yaş : 26
Nerden : Bilgisayar masasının ordanXD
İş/Hobiler : Site açma,Secret foreste girme,animasyon yapmak,oyun yapmak
Lakap : Adminiz İşte Oğlum
Kayıt tarihi : 06/02/09

Flash ile 3D Empty
MesajKonu: Güzel Bunu Denerim   Flash ile 3D Icon_minitimeSalı Şub. 10, 2009 8:28 pm

Güzel Konu Emeğe saygı
Sayfa başına dön Aşağa gitmek
http://gizli-orman.benimforum.org
 
Flash ile 3D
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» güzel bir flash oyunu
» Flash Action Script 3 SetInterval
» Flash' taki action script kodlarını şifrelemek.

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