В этом уроке разберём маленький примерчик, как с помощью данных из XML построить картинку из маленьких квадратиков. И так, для начала разберёмся как это всё будет работать. Ну во первых создадим xml в котором будут ноды с циферками церез запятую (0 или 1) , где 0 будет первый кадр мувика в нашей флешке, а 1 - второй кадр. Так создадим наш xml, открываем текстовый редактор и пишем след код:
- Код: Выделить все
<content>
<c>1,1,1,1,1,1,1,1,1,1</c>
<c>1,1,1,0,0,0,0,1,1,1</c>
<c>1,1,0,0,0,0,0,0,1,1</c>
<c>1,0,0,1,0,0,1,0,0,1</c>
<c>1,0,0,0,0,0,0,0,0,1</c>
<c>1,0,0,0,1,1,0,0,0,1</c>
<c>1,0,1,0,0,0,0,1,0,1</c>
<c>1,1,0,1,1,1,1,0,1,1</c>
<c>1,1,1,0,0,0,0,1,1,1</c>
<c>1,1,1,1,1,1,1,1,1,1</c>
</content>
Получается своеобразная сетка. Теперь сохраняем его как pic1.xml и переходим к созданию самой флешки.
- Код: Выделить все
F_createGird = function () {
var col_len = my_xml.childNodes[0].childNodes.length;
for (var i = 0; i<col_len; i++) {
var str = [];
str = my_xml.childNodes[0].childNodes[i].childNodes[0].nodeValue.split(",");
var str_len = str.length;
for (var j = 0; j<str_len; j++) {
_root.attachMovie("cube", "c"+i+j, _root.getNextHighestDepth(), {_x:10*j, _y:10*i});
if (str[j] == 1) {
_root["c"+i+j].gotoAndStop(1);
} else {
_root["c"+i+j].gotoAndStop(2);
}
}
}
};
my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(ok) {
if (ok) {
F_createGird();
}
};
my_xml.load("pic1.xml");
Теперь осталось только создать в библиотеке мувик и дать ему Linkage - cube. Теперь тестируем и смотрим как всё это работает, как всегда прилагаю Flash исходник с подробными комментариями. Мы также можем добавить нужное количество кадров в мувик cube и писать в xml цифры 2, 3, 4 ... в результате чего можно делать такие же картики из множества цветов.
