![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Многоуважаемые программисты!
Созрел вопрос. Флэшью балуюсь давно и не безрезультатно, но серьезных достижений не добился. Однако теперь вот потребовалось углубиться, в чем рассчитываю на минимальную, но квалифицированную помощь общественности. Вопрос, так сказать, идеологический. Мне известно, что напрямую наследоваться от MovieClip нельзя. Точнее, получится не клип, а что-то не работоспособное. Был какой-то способ (вроде через attachMovie), но я сейчас не вспомню... Собственно, вопрос в другом (хотя буду благодарен за напоминание ответа). Имеется некий класс, имеющий отображение. Грубо говоря, например, класс "геометрическая фигура". Т.е. в библиотеку там помещать просто нечего, предполагается, что экземпляр будет отрисовываться динамически, в зависимости от конкретных свойств конкретного объекта. Как удобнее всего в реализации поступить: 1. Все-таки поместить в библиотеку некоторый пустой клип, и attach его с неким классом 2. Класс и мувик - совершенно разные вещи, т.е. пользовательским кодом создается мувик, и объекту (допустим, через конструктор) передавать ссылку на этот мувик 3. Объект сам в конструкторе создает пустой мувик и рисует в нем что захочет Вобщем, как наиболее удобно приладить костыль к флэшу вместо логично удобной, но невозможной конструкции навроде И, так сказать, еще один вопрос (из одной задачи просто). У пустого клипа (созданного через createEmptyMovieClip) размеры нулевые. Как их не присваивай, они нулевыми и остаются, пока ничего не нарисуешь в нем. А нужно бы заранее знать заданные размеры. Пример на основе той же задачи: пользовательский код создает объект класса "геометрическая фигура", и задает ее размеры. Объект, смотря на свои размеры, отрисовывает фигуру, чтобы в них вписаться, грубо говоря. Можно, конечно, к мувику присобачить дополнительные аттрибуты типа mc.originalWidtр, но, возможно, существует более изящный и широкоиспользуемый способ? |
|
|||||
|
Хотя, пардон, по первой части в факе вроде нашел...
По второй части - вопрос еще актуален :-) |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 256
|
[удалено]
Создайте класс у которого будет ссылка на мувик, а у класса определите нужные свойства и работайте уже с ним. Последний раз редактировалось lowka; 03.05.2007 в 15:30. |
|
|||||
|
Ага, спасибо. Это именно тот метод, который я не смог припомнить. Но повторюсь, в библиотеку по сути помещать нечего, разве что для проформы - пустой мувик...
С другой стороны, не зря же люди изобретают собственные способы вроде http://flasher.ru/forum/showpost.php...47&postcount=6 |
|
|||||
|
Цитата:
Создавать экземпляры такого класса нельзя через new (так же как и MovieClip), а нужно использовать attachMovie. Цитата:
Последний раз редактировалось Tardos Mors; 03.05.2007 в 15:37. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Цитата:
Цитата:
|
|
|||||
|
Цитата:
|
|
|||||
|
Гм... Я не совсем понял, как правильно-то...
Думал, что так: class MyClass extends MovieClip
{
function MyClass(par1, par2) {...}
...
}
// В библиотеке есть символ MySmb
var mc:MyClass = new MyClass(1, 2);
_root.attachMovie("MySmb", "mysmb_instance", _root.getNextHighestDepth(), mc)
Цитата:
Если это не слишком затруднит общественность, не могла ли бы она привести пример псевдокода с attachMovie и конструктором класса? |
|
|||||
|
Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
|
__________________
Учимся правильно задавать вопросы |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|