for döngüsü ile while aynı şey sanırım.
Elimdeki kitapta while ile ilgili bir açıklama vardı ona baktım ve bir uyarlama yapmaya çalıştım.
Bir mc üzerinde eklediğim kod şöyle:
Kod:
onClipEvent (load) {
kategoriNames = ["doğa", "erciyes", "insan", "günlük yaşam", "çiçek", "detay", "hayvan", "sürü"];
katMenu._visible = false; //katMenu bu mc içinde bir mc
function listeyiCogalt() {
bosluk = katMenu._height+2;
yStart = 18;
kategoriSayisi = kategoriNames.length;
var i = -1;
while (++i<kategoriSayisi) {
name = "katMenu"+i;
katMenu.duplicateMovieClip(name,i);
this[name].kategoriText.text = kategoriNames[i];
this[name]._x = 0;
this[name]._y = yStart+i*bosluk;
this[name].pictureID = i+1;
}
}
function listeyiKapat() {
var i = -1;
while (++i<kategoriSayisi) {
name = "katMenu"+i;
this[name].removeMovieClip();
}
}
//Kategorileri sahneye yerlestiren fonksiyon
function kategoriYerlestir(pictureID) {
cogalt = "pictures"+pictureID; // pictures her bir kategorinin adı ve yanında sayısı var. örnek doga kategorisinin mc örneğinin adı pictures1.
xSpacing = 48;
ySpacing = 48;
xStart = 260;
yStart = 18;
v = 0;
i = -1;
while (++i<26) {
j = -1;
while (++j<1) {
++v;
name = "picture"+v;
_root[cogalt].duplicateMovieClip(name,v);
_root[name]._x = xStart+i*xSpacing;
_root[name]._y = yStart+j*ySpacing;
_root[name].gotoAndStop(v);
}
}
listeyiKapat();
}
}
Çalışmada her movie clipin içinde ilgili kategoriye ait küçük resimler var. Bunların hepsi farklı framelerde. Bu resimleri i ve j ye verdiğim sayılarla sahneye yerleştiriyorum. Fakat satırdaki resim sayısını belirten bir değişken oluşturmam gerekiyor çünkü her kategoride farklı sayılarda resimler var.
Mesela hepsinde 24 resim olsaydı 6*4 bir ızgara ile yerleştiriyordum sahneye.
resimSayisi = ?
Bunu nasıl tanıtabilirim kodla?
while (++i<26) yerine while (++i<resimSayisi) yapmak istiyorum yani.
v değeriyle her movieclip içinde bir sonraki frame'e gidiyor ve takip eden x ve y değerine göre sahneye alıyor.
1- Bunun yöntemi böyle mi yoksa başka şekilde mi çözmem gerekecek?
2- i nin değeri 6 ise j nin değerinin de 6 olması gerekiyor bu şekilde. Eğer j daha küçük olursa boş kalan bölüme aynı resmi çoğaltarak yineliyor.