|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
Выражение для TextFiled + getChildbyName
В списке отображения есть мувиклип container.
В нем расположено текстовое поле tf1_dtx (прописано в свойстве Instance name). Теперь, если в программе использовать выражение, навроде: То возникает ошибка: Цитата:
Если так, то должно было бы сработать выражение, навроде: Но в этом случае получаем ошибку: Цитата:
Если теперь передеть во так, то вроде работает: Но это лишняя переменная и две строки, но похоже иначе нельзя? |
|
|||||
Вот так попробуйте написать:
|
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
Цитата:
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Это стремление написать весь код в одну строчку не имеет никаких оснований. Зато читать его возвратно-поступательным движением глаз и нейронов, подсчитывая и сопоставляя скобочки — совершенно не комильфо. Кроме того, выделение в переменную позволяет работать с ней и дальше. Если завтра Вы захотите еще и текстФормат поменять, снова будете писать эту конструкцию из скобок и заставлять плеер шуршать по списку отображения?
__________________
Reality.getBounds(this); |
|
|||||
[+4 06.05.14]
|
Wolsh и другие , я извиняюсь, но мне дико интересно, когда вообще на практике люди находят использование метода getChildByName. C чем бы я не работал с swc или swf - ассеты , как бы криво программу не писал, но на практике ни разу в жизни не использовал getChildByName. Так вот, откуда у людей оно вылезает то?
Добавлено через 1 минуту П.с. вот даже я смотрю задачу ТС. Он пишет Цитата:
__________________
Марк Tween |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
Цитата:
А вообще, это упрощенный пример, а на самом деле там двухмерный массив из текстфилдов, и вложенных контейнеров больше, и на некотором этапе мне было проще использовать одну строку, без ввода дополнительных переменных. Но вот сейчас сделал более оптимальный вариант, через вложенные циклы, и да, так лучше, конешно. |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
in4core я когда-то, в эпоху "универсальности" и "правильности", пытался тоже использовать. Но это прошло и теперь мне больше понятны слова "конкретная задача"
|
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
in4core, ну вот допустим у меня есть таблица (нарисованная во Flash IDE, и добавленная в библиотеку, в ней всякие контэйнеры, текстфилды, имеющие названия) и в ней 45 ячеек. Мне нужно вывести в эти ячейки некие числа из массива, а потом подсветить отдельные числа по некоторому условию.
И вот я думаю, как мне, нубу, это сделать? И прихожу к такой концепции (она встречалась у Феронато и еще где-то видел): во вложенном цикле сгенерировать переменную типа String, например: currentCell = "cell" + String(i) + "_" + String(k); И потом через getChildByName можно напрямую обращаться к любой ячейке, хоть в цикле, хоть непосредственно. Я понимаю, наверное это не самый грамотный подход, но... а как еще можно? Как например вы делаете таблицы данных во Flash? Может какой-то компонент есть стандартный, который всесторонне хорош, или свои наработки? |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Вы поставили первую скобку после оператора точка. Вы должны были вызвать метод getChildByName() у объекта container. Скобка отрезала одно от другого. То, что в скобках — отдельное самостоятельное выражение. У кого Вы вызываете getChildByName()? По контексту — у this, а не у контейнера. Далее — то, что после container. должно быть свойством или методом объекта container. Ссылкой на текстфилд было бы container.textField, а у Вас уже само выражение textField (то есть то, что в скобках) — готовая самостоятельная ссылка на текстфилд. Вы запутались в скобках еще когда писали код. Каково же его читать через пару месяцев? in4core, мне не обязательно делать так же, как спрашивающий, чтобы ответить. И у меня не всегда есть желание и силы убеждать спрашивающего делать все по-другому, особенно не зная его задачи в полном объеме.
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Jan 2014
Адрес: Россия, Саратов
Сообщений: 28
|
динамически скобки ([fieldName]) вроде могут заменить вызов метода .getChildByName(fieldName)
|
Часовой пояс GMT +4, время: 13:53. |
|
« Предыдущая тема | Следующая тема » |
|
|