Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2012, 14:16
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 1  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
По умолчанию Проблема с Unshift и Push в Vector

имеется код, в нем видно странный эффект, что когда мы unshift-им нулевой элемент из этого же вектора, а потом делаем push в 0 элемент, push также действует на первый элемент.

можно ли как то избежать этого эффекта, этот пример нечто вроде сохранения координат точек, координаты точек лежат в v[0], при изменении координат , v[0] должен переместиться в 1 элемент вектора, а все последующие элементы должны встать в позицию текущая+1, а затем в нулевом элементе нужно поменять координаты, не меняя во втором.. надеюсь я понятно объяснил.

Код AS3:
var v = new Vector.<Vector.<int>>(5);
v[0] = new Vector.<int>(5);
v[1] = new Vector.<int>(5);
v[2] = new Vector.<int>(5);
v[3] = new Vector.<int>(5);
v[4] = new Vector.<int>(5);
v[0][0] = 0;
v[0][1] = 0;
v[0][2] = 0;
v[0][3] = 0;
v[0][4] = 0;
 
v[1][0] = 1;
v[1][1] = 1;
v[1][2] = 1;
v[1][3] = 1;
v[1][4] = 1;
 
v[2][0] = 2;
v[2][1] = 2;
v[2][2] = 2;
v[2][3] = 2;
v[2][4] = 2;
 
v[3][0] = 3;
v[3][1] = 3;
v[3][2] = 3;
v[3][3] = 3;
v[3][4] = 3;
 
v[4][0] = 4;
v[4][1] = 4;
v[4][2] = 4;
v[4][3] = 4;
v[4][4] = 4;
 
v.unshift(v[0]);
v[0].push(1);
 
trace(v[0]);
trace(v[1]);
trace(v[2]);
trace(v[3]);
trace(v[4]);
 
//0,0,0,0,0,1
//0,0,0,0,0,1
//1,1,1,1,1
//2,2,2,2,2
//3,3,3,3,3

Старый 31.07.2012, 15:01
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS3:
v.unshift (v[0].concat());
v[0].push(1);
//0,0,0,0,0,1
//0,0,0,0,0
//1,1,1,1,1
//2,2,2,2,2
//3,3,3,3,3
Это хотели получить?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 31.07.2012, 16:53
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 3  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
да это именно то что нужно спасибо

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:20.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.