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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 12.06.2002, 04:09
Корнхолио вне форума Посмотреть профиль Отправить личное сообщение для Корнхолио Найти все сообщения от Корнхолио
  № 1  
Корнхолио
 
Аватар для Корнхолио

Регистрация: Jun 2002
Адрес: неустойчивое
Сообщений: 30
Thumbs down проблема с поименовкой двухмерного массива объектов - кнопок (как в Winmine :)) )

проблема с поименовкой двухмерного массива объектов - кнопок (как в Winmine ). Как это сделать, чтобы размер массива задавался динамически? . Спасибо, люди.

Старый 12.06.2002, 21:37
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 2  
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Код:
// constructor
function ArrayD2(X, Y) {
 this.Dim(X, Y);
}

ArrayD2.prototype.Validate = function(X, Y) {
 return ((X >= 0)and(X < this._xlimit)and(Y >= 0)and(Y < this._ylimit));
}

ArrayD2.prototype.setValue = function(X, Y, Value) {
 if this.Validate(X, Y) this[X][Y] = Value;
}

ArrayD2.prototype.getValue = function(X, Y) {
 return (this.Validate(X, Y)? this[X][Y]: undefined);
}

ArrayD2.prototype.Dim(X, Y) {
 if ((X > 0) and (Y > 0) and (X != this._xlimit)) {
  if (X > this._xlimit + 1) {
   for (var i = this._xlimit + 1; i < X; i++) this[i] = new Array();
  else
   for (var i = this._xlimit; i >= X; i--) delete this[i];
 }
 this._xlimit = X - 1;
 this._ylimit = Y - 1;
}
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 12.06.2002, 21:47
Egoritch вне форума Посмотреть профиль Отправить личное сообщение для Egoritch Посетить домашнюю страницу Egoritch Найти все сообщения от Egoritch
  № 3  
Egoritch
"Ниразу не флэшер"
 
Аватар для Egoritch

Регистрация: Nov 2001
Адрес: +38-067-...
Сообщений: 1,434
Отправить сообщение для Egoritch с помощью ICQ
Да, DeliMIter, успокоил паренька.......
я когда сапёра делал я просто дублировал таким образом:

sizeX=20;
sizeY=10;
for (y=0;y<sizeY;y++)
for (x=0;x<sizeX;x++){
s=y*sizeX+x; // для каждого кубика - свой индекс
s1="kub_" + s;
kub.duplicateMovieClip(s1, 10+s);
s1=eval(s1);
s1._x=x*s1._width;
s1._y=y*s1._height;
}


вот так я продублировал сколько надо объектиков kub задав каждома свой индекс, для быстрой адресации

для обращения к объекту с координатами 3:5 ты пишешь
obj=eval("kub_" + (5*SizeX+3));

чтобы не творить не5нужных массивов
__________________
стучитесь в асю за дополнительной помощью....
ЗЫ: ПОИСК действительно рулит.

Старый 12.06.2002, 22:00
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 4  
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Хых, а я никого и не хотел успокоить :)))))))))

А просто щедро дал универсальный код для двумерных массивов. Просто универсальный код будет красиво работать в большинстве случаев, но нигде не будет оптимален, потому что он сам по себе избыточен.

А насчет ненужных массивов - не согласен, массивы работают быстрее. Заметно быстрее. Посмотри, какой громоздкий код генерит Флэш на clip["name_" + xindex + "_" + yindex] против clip.name[xindex][yindex].
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 14.06.2002, 22:20
Корнхолио вне форума Посмотреть профиль Отправить личное сообщение для Корнхолио Найти все сообщения от Корнхолио
  № 5  
Корнхолио
 
Аватар для Корнхолио

Регистрация: Jun 2002
Адрес: неустойчивое
Сообщений: 30
Спасибо, люди. стану умным -- авось тоже помагу. ))

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

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

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


 


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


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