|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jul 2012
Сообщений: 112
|
удаление нужного элемента с экрана и массива
Как удалить с экрана элементы, которые удаляются из массива?
Например массив var objects:Array = new Array(); objects[0] = ["0", "30"]; objects[1] = ["0", "130"]; objects[2] = ["100", "30"]; objects[3] = ["100", "130"]; objects[4] = ["200", "30"]; objects[5] = ["200", "130"]; |
|
|||||
Регистрация: Jul 2012
Сообщений: 112
|
Добавляются не строки массива, элементы массива это координаты квадратов, которые рисуются на экране
Добавлено через 2 минуты drawRect(objects[i][i], objects[i][j], width:Number, height:Number) |
|
|||||
Например, можно в этом же массиве objects хранить и ссылку на рисуемый прямоугольник. С учетом, что каждый прямоугольник отдельный спрайт. Если же вы все рисуете в одном спрайте, то сделайте функции addObject( x:int, y:int ) и removeObject( indexInArray:uint ), в которых после добавления/удаления элемента массива будет вызываться функция update(), которая, в свою очередь, будет заново отрисовывать весь массив.
|
|
|||||
Регистрация: Jul 2012
Сообщений: 112
|
Вооот, ссылка, как ее присвоить рисуемому объекту?
при удалении обращаться к удаляемому объекту removeChild(ссылка); ? |
|
|||||
private function addObject( x:int, y:int, w:Number, h:Number ):void { // Создаем новый спрайт var s:Sprite = new Sprite(); s.x = x; s.y = y; var g:Graphics = s.graphics; g.lineStyle(1, 0x000000); g.beginFill(0xAABBCC); g.drawRect(0, 0, w, h); g.endFill(); // Создаем элемент массива var element:Array = [x, y, s]; objects.push( element ); addChild( s ); } private function removeObject( index:uint ):void { if (index >= objects.length) return; var element:Array = objects[index] as Array; var s:Sprite = element[2] as Sprite; // Удаляем спрайт из списка отображения removeChild( s ); // Удаляем элемент массива, чтобы нигде не осталось // ссылки на спрайт. objects.splice( index, 1 ); } |
|
|||||
Регистрация: Jul 2012
Сообщений: 112
|
Спасибо
Добавлено через 55 часов 29 минут А нельзя удалить по имени? Как-то вот так, например: |
Часовой пояс GMT +4, время: 21:04. |
|
« Предыдущая тема | Следующая тема » |
|
|