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

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

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

Регистрация: Jul 2009
Сообщений: 22
По умолчанию Удалить созданный текст

Здравствуйте
Не могу понять как удалить текст созданный через
Код AS1/AS2:
_root.createTextField("txt", 1, 10 ... );
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка.
P.S. А у меня их минимум две.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS1/AS2:
txt.removeTextField();
__________________
Reality.getBounds(this);

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

Регистрация: Jul 2009
Сообщений: 22
не понимаю как происходит процесс удаления
Код AS1/AS2:
i = 2;
trace(i + "c : " + _root["caption_" + i]);
_root["caption_" + i].removeTextField();
trace(i + "c : " + _root["caption_" + i]);
трейс выводит:
Цитата:
2c : _level0.caption_2
2c : _level0.caption_2
Хотя по идее во второй раз мне нужен undefined...

P.S. Тоже самое с мувиклипами у меня.. объясните плз как полностью удалить все следы существования мувиклипа =)
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка.
P.S. А у меня их минимум две.


Последний раз редактировалось Yami; 20.08.2009 в 18:50.
Старый 20.08.2009, 19:00
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS1/AS2:
createTextField("caption_2", 0, 0, 0, 100, 100);
 
i = 2;
trace(i + "c : " + _root["caption_" + i]);
_root["caption_" + i].removeTextField();
trace(i + "c : " + _root["caption_" + i]);
 
//2c : _level0.caption_2
//2c : undefined
У меня все удаляется.

Старый 20.08.2009, 19:15
Yami вне форума Посмотреть профиль Отправить личное сообщение для Yami Найти все сообщения от Yami
  № 5  
Ответить с цитированием
Yami
 
Аватар для Yami

Регистрация: Jul 2009
Сообщений: 22
черт возьми.. у меня просто так (в чистом проекте) тоже нормально все работает
а в нужном нифига не работает... в чем может быть проблема?
Создаю как написал в первом посте... разве что создание и удаление в разных функциях. Но обращение то идет!
Убей, но не могу понять почему не удаляет...
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка.
P.S. А у меня их минимум две.


Последний раз редактировалось Yami; 20.08.2009 в 19:27.
Старый 20.08.2009, 19:29
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Значит текстовое поле не при помощи createTextField() создано.

Старый 20.08.2009, 19:34
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Есть еще вариант, если вы где-то создавали текстовые поля / клипы с одинаковыми именами, то это вводит в заблуждение плеер и будут глюки в дисплей листе / глюки с фокусом, удалением и т.п.
Просто:
а.
Код AS1/AS2:
_root["caption_" + i]
не делайте так никогда.
b. всегда следите за тем, чтобы давать уникальные имена, уникальные глубины.
__________________
Hell is the possibility of sanity

Старый 20.08.2009, 19:40
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS1/AS2:
createTextField("caption_2", 0, 0, 0, 100, 100);
createTextField("caption_2", 1, 0, 0, 100, 100);
 
i = 2;
trace(i + "c : " + _root["caption_" + i]);
_root["caption_" + i].removeTextField();
trace(i + "c : " + _root["caption_" + i]);
 
//2c : _level0.caption_2
//2c : _level0.caption_2
Действительно...

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

Регистрация: Jul 2009
Сообщений: 22
wvxvw, дело в том что количество текстовых полей не постоянно.. то есть создается N количество текстовых полей. Попробую отследить где происходит наложение... хотя даже представить не могу где это может быть.
С глубинами попроще.. если на такую же глубину помещаешь, то предыдущий элемент затирается.

Добавлено через 20 часов 30 минут
Методом научного тыка выявленно:
при указанной отрицательной глубине remove жестоко глючит.
процедура создания:
Код AS1/AS2:
butX = 200;
butY = 50;
for (i = 1; i <= 5; i++)
{
	butY += 50;
	_root.createTextField("caption_"+i, -3 + i, butX - 145, butY - 7, 130, 20);
	_root["caption_"+i].text = "SsSsSsSs " + i; 
}
процедура удаления
Код AS1/AS2:
for (i = 0; i <= 5; i++)
{
	trace(i + "c : " + _root["caption_" + i] + " = " + _root["caption_" + i].text);
	_root["caption_" + i].removeTextField();
	trace(i + "c : " + _root["caption_" + i] + " = " + _root["caption_" + i].text);
}
результат трейса:
Код:
0c : undefined = undefined // этого эелемента и не было
0c : undefined = undefined
1c : _level0.caption_1 = SsSsSsSs 1 // до удаления (при глубине -2)
1c : _level0.caption_1 = SsSsSsSs 1 // после удаления (при глубине -2)
2c : _level0.caption_2 = SsSsSsSs 2 // до удаления (при глубине -1)
2c : _level0.caption_2 = SsSsSsSs 2 // после удаления (при глубине -1)
3c : _level0.caption_3 = SsSsSsSs 3 // до удаления (при глубине 0)
3c : undefined = undefined // после удаления (при глубине 0)
4c : _level0.caption_4 = SsSsSsSs 4 // до удаления (при глубине 1)
4c : undefined = undefined // после удаления (при глубине 1)
5c : _level0.caption_5 = SsSsSsSs 5 // до удаления (при глубине 2)
5c : undefined = undefined // после удаления (при глубине 2)
проверенно в свежесозданном документе с двумя кнопками (создать и удалить).
Adobe Flash CS4. Action Script 1/2.

P.S. Самое странное, что по-умолчанию у элементов флеша отрицательная глубина (напр. -16384)
P.P.S Буду рад, если кто-то более опытный прокомментирует ситуацию..
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка.
P.S. А у меня их минимум две.


Последний раз редактировалось Yami; 21.08.2009 в 16:35.
Создать новую тему Ответ Часовой пояс GMT +4, время: 05:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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