Цитата:
Сообщение от MrYeti
В теории то я тоже так думал, но вот 2 и 3-ий пункты не знаю как реализовать...
Именно как, только что узнав суммарное количество переменных, создать столько же текстовых полей, которые будут ссылками этих переменных?
|
а кто мешает создавать переменные программно ?
вопрос, на сколько я понял, не в том, как их создавать, а в том, как к ним потом обращаться. предлагаю способ, когда каждый элемент вашей матрицы будет помещен в объект Object, который мы снабдим парой свойств i и j - координатами (для случая двумерной матрицы) и текстовым полем для ввода значения

Код AS3:
var matrix : array = new Array(); // массив будет содержать все элементы матрицы вне зависимости от размерности
var singleElement : Object = new Object(); // объект элемента матрицы
var elementInput : TextField = new TextField(); // текстовое поле для ввода значения элемента
singleElement.i = ... // присваиваем горизонтальный индекс элементу матрицы (например, равный счетчику соответствующего цикла
singleElement.j = ... // вертикальный идекс
singleElement.input = elementInmput; //
singleElement.input.x = ... // позиционируем текстовое поле
singleElement.input.y = ... // позиционируем текстовое поле
addChild(singleElement.input) // вводим его в список отображения
matrix.push(singleElement); // "складируем" элемент матрицы в линейный массив
дальше обращайтесь к любому элементу по его координатам в матрице, предварительно отыскав его в линейном массиве по условию singleElement.i = that_i && singleElement.j = that_j, где that_ - искомые индексы элемента.
линейный массив будет удобен, поскольку изначально размерность вашей матрицы неизвестна. каждый элемент линейного массива хранит в себе его координаты в вашей матрице (i,j) и текстовое поле для ввода значения
вообще, как мне кажется, лучше использовать универсальную схему, которой пофигу размерность. для ввода значений использовать одно текстовое поле и несколько полей для ввода координаты элемента матрицы. целевой Object в который мы будем складывать все, будем хранить координату элемента. А все объекты будем складывать в линейный массив, чтобы потом иметь возможность работать с любым из элементов матрицы. такая схема будет эластичной

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