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

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

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
По умолчанию Перевод строки в ссылку

Как перевести строку в ссылку ?

В ас 2 работала такая конструкция:
Код AS1/AS2:
var clip = ['button'+i];
В ас 3 из этого получаеться строка, как её сделать ссылкой ? Причём объектами ссылки могут быть разные типы объектов.
__________________
Дети не должны знать о своих родителях

Старый 02.01.2012, 13:05
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 2  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Через строку можно обращаться к свойствам обьектов.
Код AS3:
//button3 - свойство текущего класса this
var button3:MyButton = new MyButton();
trace(this['button'+3]);//[object MyButton]
 
//color1 color2 - свойства класса MyButton
button3.color1 = 0;
button3.color2 = 0xFFFFFF;
trace(button3["color"+1]);//0
trace(button3["color"+2]);//0xFFFFFF
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 02.01.2012, 13:23
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 3  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Спасибо, добавил this и флэш меня понял. Но появился другой вопрос, как теперь проверить, что по ссылке объект существует ?

Допустим:
Код AS3:
var clip = this['button'+5];// НО button5 не существует!
trace(clip); // ничего не выводит
 
if(clip){ // всёравно выполняеться
trace('hello')
}
ps Объекты всё ещё могут быть разного типа

Добавлено через 11 минут
Всё разобрался, просто ас 3 не переваривает когда обращаються к заранее не определённой переменной/свойству.
Всего то нужно в начале определить все button1, button2 ... button7
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 02.01.2012 в 13:25.
Старый 02.01.2012, 16:33
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 4  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
если нужно проверить добавлен ли экземпляр кнопки на "условную сцену" то можно воспользоваться методом
Код AS3:
this.contains(this['button5']);
выведет true если экземпляр добавлен, false в противном случае
для проверки существования button5 тоже есть метод, но к сожалению я его забыл, возможно вам метод contains подойдёт


Последний раз редактировалось ЗлОй ПрОграММер; 02.01.2012 в 20:00.
Старый 02.01.2012, 16:38
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
ЗлОй ПрОграММер, this - означает этот экземпляр. Это не сцена. Чтобы проверить есть ли объект на сцене, то нужно ее и указывать
Код AS3:
stage.contains(this['button5'] as DisplayObject);
И вообще, там указывается тот контейнер, в котором необходимо проверить наличие того или иного объекта в качестве "ребенка". Это может быть и не this и не stage, а любой контейнер дисплей объектов

Старый 02.01.2012, 16:39
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
И все забыли про getChildByName(), предавшись быдлоспособу. Он возвращает null, в случае отсутствия объекта.
__________________
тут я

Старый 02.01.2012, 17:04
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 7  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Цитата:
Сообщение от КорДум Посмотреть сообщение
И все забыли про getChildByName(), предавшись быдлоспособу.
Ага, и все забыли что если свойства не существует - компилятор выбросит ошибку. Я вообще удивляюсь, почему вот это у Tails чудом работает:
Код AS3:
var clip = this['button'+5];// НО button5 не существует!
Пробовал и так и сяк - не получается. Говорит что я обращаюсь к несуществующему свойству. Может у меня компилятор какой-то особенный.
__________________
Я мало чего умею, но зато хорошо умею учиться...


Последний раз редактировалось HardCoder; 02.01.2012 в 17:06.
Старый 02.01.2012, 17:13
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
компилятор выбросит ошибку
Не компилятор, а флеш плеер выбросит RTE.
__________________
тут я

Старый 02.01.2012, 18:05
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 9  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Сообщение от HardCoder Посмотреть сообщение
Ага, и все забыли что если свойства не существует - компилятор выбросит ошибку. Я вообще удивляюсь, почему вот это у Tails чудом работает:
Код AS3:
var clip = this['button'+5];// НО button5 не существует!
Пробовал и так и сяк - не получается. Говорит что я обращаюсь к несуществующему свойству. Может у меня компилятор какой-то особенный.
Да всё верно, у меня тоже в этом моменте встовало. Просто я ошибся, у меня там цикл был.
Вообщем я решил свою проблему описав в начале класа все возможные button:
Код AS3:
var button1;
var button2;
var button3;
...
И теперь флеш ссылаеться не на неопределённое свойство, а на переменную в которой ничего нет. А это уже совсем другое Никакова быдлоспособа, акуратно и красиво на мой взгляд.
__________________
Дети не должны знать о своих родителях

Старый 02.01.2012, 18:13
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 10  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Никакова быдлоспособа, акуратно и красиво на мой взгляд.
А на мой нет
Зачем вообще нужная такая конструкция? Вот я что-то не могу представить как она может рельно использоваться

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

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

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


 


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


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