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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Nov 2006
Сообщений: 27
По умолчанию Свойство компонента типа Object

Так как у моего компонента очень много свойств, использую св-ва типа Object, которые могут внутри себя содержать много отдельных св-в.

Однако, если в св-во типа Object добавляю новое свойство, в имеющиехся экземплярах компонента это добавление не видно.
Что делать???

В Component Definition в списке parameters всё видно. Если пользуюсь флажками Parameters are locked in instances и Display in components panel, это приводит к зависанию и вылету Flash или к порче .fla файла при сохранении.

Приходится каждый раз удалять и создавать заново все экземпляры компонента и задавать кучу свойств.

Старый 09.11.2006, 19:37
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 2  
Ответить с цитированием
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Такие вопросы должны всегда сопровождаться примером кода и информацией о номере плеера.
Видимо, проблема в непонимании механизмов работы прототипов, попробуйте создать свой класс, расширяющий object.
__________________
Верить никому нельзя. Мне - можно. :)

Старый 09.11.2006, 20:42
tnikolai вне форума Посмотреть профиль Отправить личное сообщение для tnikolai Найти все сообщения от tnikolai
  № 3  
Ответить с цитированием
tnikolai

Регистрация: Nov 2006
Сообщений: 27
Немного уточню:

Использую Flash 8.

Допустим у меня есть класс компонента:
Код:
class compon extends MovieClip {
  [Inspectable(type="Object",defaultValue="a:100,b:100")]
  var x:Object;
}
далее создаю экземпляр компонента, допустим 'aaa' и задаю ему в Component Inspector св-во х равным {a:35,b:66}

Если в последствии мне понадобится ещё и 'c', и я переделаю:
Код:
[Inspectable(type="Object",defaultValue="a:100,b:100,c:100")]
То для 'aaa' в Component Inspector как показывалось, что x={a:35,b:66},
так и показывается. А надо {a:35,b:66,c:100}

Если x взять не типа Object, а например Tx:
Код:
class Tx extends Object{
  a:Number;
  b:Number;
  c:Number;
}
то же самое.

Во вложенном примере есть 2 экземпляра компонента: 'aaa', созданный до добавления члена 'c'; и 'bbb' - после добавления. Как сделать, чтоб в 'aaa' добавилось 'c'?

Вначале всё было без объектов, и в компоненте сидело более 100 св-в, но это было слишком много и в них постоянно путались.
Потом разбили их на группы и оформили их через св-во типа Object.
Получилось примерно 10 таких св-в - объектов по 10-15 членов в каждом, и 10 экземпляров этого компонента в проекте.
Всё бы хорошо, но когда надо в к-л св-во добавить новый член, начинается дурдом: везде приходится в Component Definition удалять изменившееся св-во, играться с флажками Parameters are locked in instances и Display in components panel. При этом иногда зависанет и вылетает Flash или после сохранения .fla файл оказывается испорченным.
Кошмар!
Вложения
Тип файла: zip primer.zip (5.8 Кб, 40 просмотров)


Последний раз редактировалось tnikolai; 10.11.2006 в 17:11.
Старый 09.11.2006, 20:44
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
tnikolai, прочтите 3-ий пункт http://www.flasher.ru/forum/showthread.php?t=79862 и приведите свой код в надлежащий вид.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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