Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   привязка объекта на сцене к кастомному классу без linkage (http://www.flasher.ru/forum/showthread.php?t=103452)

derhab 05.11.2007 21:16

привязка объекта на сцене к кастомному классу без linkage
 
Добрый вечер.
Подскажите, можно как-то мувиклип, изначально лежащий на сцене, сделать экземпляром кастомного класса? При этом в библиотеке в линкейдже его класс никак не определен.

Я создаю ссылку на свой класс:
Код:

var ClassRef:Class = getDefinitionByName("MyClass") as Class;
Но дальше ничего не получается..вызывать конструктор ClassRef не имеет смысла, объект уже есть, он лежит на сцене..можно в принципе сделать его экземпляром класса ClassRef?

etc 05.11.2007 21:20

Не очень понятен вопрос. На первый вопрос ответ очевиден — нет. А дальше я что-то не понял, если тебе нужно создать ещё один экземпляр этого клипа, то юзай constructor. Или делай композицию.

derhab 05.11.2007 21:35

не, мне не нужно создавать больше экземпляров..Они все отрисованы на сцене. Просто их больше 200 штук)).. и прописывать в библиотеке каждому класс..я подумал может как то программно можно..

etc 05.11.2007 21:44

Зачем прописывать? getChildAt? getChildByName?

derhab 05.11.2007 22:50

Цитата:

Сообщение от __etc
Зачем прописывать? getChildAt? getChildByName?

естественно, я так и делаю, но сделать их экземплярами нужного класса не удается

etc 05.11.2007 22:56

А это невозможно. Тут можно работать лишь используя композицию.

derhab 05.11.2007 23:04

ну вот на примере с одним экземпляром....я делал так
Код:

var ref:myClass
var ClassRef:Class = getDefinitionByName("myClass") as Class;
trace(getChildByName('obj') as myClass); // null

понял..невозможно.

Тогда приходит в голову создать экземпляр ClassRef и параметром передать клип, чтоб в классе уже с ним работать
Код:

var instance:ClassRef = new  ClassRef (getChildByName('obj'))
А поясни, как использовать композицию тут?

etc 05.11.2007 23:11

Написать класс, который в конструкторе принимает ссылку на клип. Этот класс реализует необходимый тебе функционал и управляет клипом.

derhab 05.11.2007 23:17

ну так вроде я это и сделал...
спасибо

etc 05.11.2007 23:26

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


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

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