LevinSoft
16.04.2008, 11:42
Всем привет. Еще раз простите за "базар" в предыдущей теме, я больше не буду. Честно!
До меня дошло, все таки, как грамотно распарсить и запихать в массив элементы из xml-файла.
Вот так добился парсинга файла
_root.filename = "images.xml";
pictureObjects = [];
myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = parseMe;
myXML.load("images.xml");
function parseMe() {
var pictures = this.firstChild.childNodes;
for (var i in this){
var obj = {};
for (var j in pictures[i].attributes.src){
obj[j] = pictures[i].attributes[i];
}
pictureObjects.push(pictures[i].attributes);
}
}
Как размножить мувик тоже нашел, правда получилось только через prototype, а нашел еще другие варианты...
Код не мой, зато работает.
movieClip.prototype.DMC=function(n,x0,y0,dx,dy,captionName,captions){
var name=this._name;
if (name.charAt(name.length-1)=="0"){name=name.substr(0,name.length-1)}
var basename=name;
this._x=x0;
this._y=y0;
this[captionname]=captions[0];
var yt=y0;
var xt=x0;
for (i=1;i<n;i++){// где n- число фоток в xml'е
name=basename+i;
yt+=dy;
xt+=dx;
this.duplicateMovieClip(name,i);
_parent[name]._y=yt;
_parent[name]._x=xt;
_parent[name][captionname]=captions[i];
}
}
Но как сопоставить элементы массива с записями размноженным мувикам вот это задача.
Как заранее присвоить действие мувику, чтобы он выполнял определенное дейтсвие, хотя имя мувика заранее не изветсно, и будет ли он создан тоже не известно?
До меня дошло, все таки, как грамотно распарсить и запихать в массив элементы из xml-файла.
Вот так добился парсинга файла
_root.filename = "images.xml";
pictureObjects = [];
myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = parseMe;
myXML.load("images.xml");
function parseMe() {
var pictures = this.firstChild.childNodes;
for (var i in this){
var obj = {};
for (var j in pictures[i].attributes.src){
obj[j] = pictures[i].attributes[i];
}
pictureObjects.push(pictures[i].attributes);
}
}
Как размножить мувик тоже нашел, правда получилось только через prototype, а нашел еще другие варианты...
Код не мой, зато работает.
movieClip.prototype.DMC=function(n,x0,y0,dx,dy,captionName,captions){
var name=this._name;
if (name.charAt(name.length-1)=="0"){name=name.substr(0,name.length-1)}
var basename=name;
this._x=x0;
this._y=y0;
this[captionname]=captions[0];
var yt=y0;
var xt=x0;
for (i=1;i<n;i++){// где n- число фоток в xml'е
name=basename+i;
yt+=dy;
xt+=dx;
this.duplicateMovieClip(name,i);
_parent[name]._y=yt;
_parent[name]._x=xt;
_parent[name][captionname]=captions[i];
}
}
Но как сопоставить элементы массива с записями размноженным мувикам вот это задача.
Как заранее присвоить действие мувику, чтобы он выполнял определенное дейтсвие, хотя имя мувика заранее не изветсно, и будет ли он создан тоже не известно?