CODE
class Gallery {
var target:MovieClip;
var total:Number;
var thumbs:Array;
function Gallery(t:MovieClip, nm:String, c:Number) {
target = t;
total = c;
thumbs = [];
for (var i = 0; i<total; i++) {
var o = {img:"thumb_"+(i+1)+".jpg"};
var item = target.attachMovie("Thumb", nm+"_thumb_"+i, i, o);
thumbs.push(item);
}
}
function gShowThumbs() {
trace(thumbs);
}
function gShowCount() {
trace(total);
}
}
var target:MovieClip;
var total:Number;
var thumbs:Array;
function Gallery(t:MovieClip, nm:String, c:Number) {
target = t;
total = c;
thumbs = [];
for (var i = 0; i<total; i++) {
var o = {img:"thumb_"+(i+1)+".jpg"};
var item = target.attachMovie("Thumb", nm+"_thumb_"+i, i, o);
thumbs.push(item);
}
}
function gShowThumbs() {
trace(thumbs);
}
function gShowCount() {
trace(total);
}
}
И его обьект:
CODE
var g1 = new Gallery(this, "first", 5);
При вызове:
CODE
g1.gShowThumbs();
g1.gShowCount();
g1.gShowCount();
Output:
_level0.first_thumb_0,_level0.first_thumb_1,_level0.first_thumb_2,_level0.first_
thumb_3,_level0.first_thumb_4
5
То есть все в порядке. Но в случае если обьектов 2:
CODE
var g1 = new Gallery(this, "first", 5);
var g2 = new Gallery(this, "second", 3);
g1.gShowThumbs();
g1.gShowCount();
g2.gShowThumbs();
g2.gShowCount();
var g2 = new Gallery(this, "second", 3);
g1.gShowThumbs();
g1.gShowCount();
g2.gShowThumbs();
g2.gShowCount();
Output:
,,,_level0.first_thumb_3,_level0.first_thumb_4
5
_level0.second_thumb_0,_level0.second_thumb_1,_level0.second_thumb_2
3
Почему массив трактуется как static и что делать? private пробовал - zero effect. Help please