tnikolai
10.11.2006, 10:17
Использую 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 файл оказывается испорченным.
Кошмар!
Что можно сделать?
Допустим у меня есть класс компонента:
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 файл оказывается испорченным.
Кошмар!
Что можно сделать?