![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|
|
|||||
|
Регистрация: Jun 2002
Адрес: неустойчивое
Сообщений: 30
|
проблема с поименовкой двухмерного массива объектов - кнопок (как в Winmine
). Как это сделать, чтобы размер массива задавался динамически? . Спасибо, люди. |
|
|||||
|
некрофил
Регистрация: 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;
}
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
"Ниразу не флэшер"
|
Да, 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нужных массивов
__________________
стучитесь в асю за дополнительной помощью.... ЗЫ: ПОИСК действительно рулит. |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Хых, а я никого и не хотел успокоить :)))))))))
А просто щедро дал универсальный код для двумерных массивов. Просто универсальный код будет красиво работать в большинстве случаев, но нигде не будет оптимален, потому что он сам по себе избыточен. А насчет ненужных массивов - не согласен, массивы работают быстрее. Заметно быстрее. Посмотри, какой громоздкий код генерит Флэш на clip["name_" + xindex + "_" + yindex] против clip.name[xindex][yindex].
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Регистрация: Jun 2002
Адрес: неустойчивое
Сообщений: 30
|
Спасибо, люди. стану умным -- авось тоже помагу. ))
|
![]() |
Часовой пояс GMT +4, время: 21:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|