Привет всем!
Пытаюсь сделать игрушку. Короче, есть массив с артефактами:

Код AS1/AS2:
private var artefacts:Array = [
{артефакт №1 и его свойства}
{артефакт №2 и его свойства}
{артефакт №3 и его свойства}
{артефакт №4 и его свойства}
]
Если игрок зашел в игру первый раз, то у нас должны перемешаться элементы массива. Если нет, то мы должны загрузить перемешанный массив. Для этого я пытался сделать второй массив который должен сохранять новую последовательность артефактов. А там где стоит комментарий, сделать обратную процедуру с загрузкой. Но как бы я не старался, сыпались ошибки.. (вроде Ошибка типа Coercion: невозможно преобразовать Object@477d509 в flash.display.DisplayObject.)

Код AS3:
private var so:SharedObject = SharedObject.getLocal('save');
function saveRandomArt() {
so.data.art_obj = artefacts;
so.flush();
}
var art_list_sorted:Array = [];
for (var id in artefacts) {
art_list_sorted.push(artefacts[id]);
artefacts[id].id = id;
}
for (var a in artefacts) {
var id = artefacts[a].id;
var obj = artefacts[id];
}
function shuffle(artefacts) {
for (var i=0; i<artefacts.length; i++) {
var index = int(Math.random()*artefacts.length);
artefacts.push(artefacts[index]);
artefacts.splice(index, 1);
}
}
if (so.data.art_obj) {
//(здесь надо загрузить артефакты)
//artefacts = so.data.art_obj; (не работает, ниже где вызывается artefacts[0] выдает ошибку
}else {
shuffle(artefacts);
saveRandomArt();
}
Умоляю, помогите
