PDA

Просмотр полной версии : опять массивы


Futs
22.07.2005, 19:28
есть массив из объектов, хочу отсортировать его по _х объектов. лучше всего добавлять в массив свойство каждому элементу и по свойству сортировать, но я чего-то те пойму как добавить это свойство.

KidsKilla
22.07.2005, 19:30
Array.sortOn("_x");

Futs
22.07.2005, 19:40
я тоже так думал, не выходит

Whatsername
22.07.2005, 19:47
но я чего-то те пойму как добавить это свойство.
Не совсем понятно, чем тебе помочь. Это свойство добавляется, равно как и все остальные, в констукторе. Заведи метод класса, подстчитывающий количество созданных объектов, и записывай это число в свойство каждого объекта.

Futs
22.07.2005, 19:51
спасибо, но чего понять не могу так это классов, к сожалению, а очень хочется...

Whatsername
22.07.2005, 19:54
>> есть массив из объектов
а о каких объектах речь?

Futs
22.07.2005, 20:03
Обычные мувикиvar depth = 0;
mc_arr = [];
this.onMouseDown = function() {
if (depth<5) {
var m_mc = this.attachMovie("muv_mc", "muv_mc_"+depth, depth++);
m_mc.depth_tf.text = "depth "+depth;
m_mc.name_tf.text = m_mc._name;
m_mc._x = _xmouse;
m_mc._y = _ymouse;
mc_arr.push(m_mc);
for (i=0; i<mc_arr.length; i++) {
mc_arr[i].onPress = function() {
this.startDrag();
};
mc_arr[i].onRelease = function() {
this.stopDrag();
};
}
}
};
this.fn_btn.onPress = function() {
mc_arr.sortOn("_x");
trace(mc_arr);
};

Whatsername
22.07.2005, 20:23
var mc_array = [mc1_mc, mc2_mc, mc3_mc];
//
function compareXpos(element1, element2) {
return element1._x-element2._x;
}
//
mc_array.sort(compareXpos);
И пообещай прочесть рассказ про Array.sort перед сном.

Futs
22.07.2005, 22:19
спасибо, читал, обещаю повторить пройденное