Я создаю игру перетаскивания так, чтобы комбинация плиток мувиклипа определяла ответ.Чтобы определить ответ, я объединяю movieclip name и movieclip position in ORDER .
public function drop(event: MouseEvent) {
event.target.stopDrag();
flag = false;
trace(event.target.name);
tileDropped = event.target.name;
//When the tile is dropped at the supposed position, push target (tile) into picked_ans array
for (ix = 0; ix < targetArray.length; ix++) {
if (targetArray[ix].hitTestObject(event.target)) {
event.target.x = targetArray[ix].x;
event.target.y = targetArray[ix].y;
flag = true;
picked_ans.push(event.target); //add tile to picked_ans
}
} //for i
// Remove duplicates from picked array
if (picked_ans.length > 1)
for (var j = 0; j < picked_ans.length; j++){
if(tileDropped == picked_ans[j].name){
picked_ans.splice(j, 1);
picked_ans.push(event.target);
}
}
if (gameStats == 1){
//if gameStats == 1, there should be only one movieclip in the array
if (picked_ans.length > 0){
for (ix = 0; ix < picked_ans.length; ix++){
picked_ans.pop();
}
}
picked_ans.push(event.target);
}
for (ix = 0; ix < tileArray.length; ix++) {
if ((tileArray[ix].hitTestObject(event.target)) && (tileArray[ix] != event.target)) {
flag = false;
}
} //for i
if (!flag) {
event.target.x = event.target.original_posx;
event.target.y = event.target.original_posy;
}
} //drop
то, чего я хочу достичь, лучше всего описать ниже
if(picked_ans > 0){
dropped_tile_pos_x = picked_ans.length;
for(var i = 0; i < dropped_tile_pos_x; i++){
//Here is the problem
if(event.target.x > picked_ans[i].x){
//sort picked_ans array and insert current picked tile (event.target)
//to the proper index location
//something like
picked_ans[i + 1] = event.target;
}else{
picked_ans[i - 1] = event.target;
}
}
}
в двух словах: как я могу отсортировать массив pick_ans на лету каждый раз, когда плитка сбрасывается?
Я видел что-то вроде этого
myArray = [name: "tilename", posx:"234"]
Для меня это будет намного более простой способ сортировки массива с помощью свойства posx, если кто-то может сказать мне, как создать такой массив в цикле вместожесткое кодирование, как указано выше.Спасибо