Цитата:
Сообщение от Хемуль
2 dedalx:
Что-то сделать из экземпляра одного класса в экземпляре другого класса можно разными способами. Свойствами, методами, событиями...
Кстати, конструкция
 Код AS3:
(root as MovieClip).score+=100
вызовет ошибку, поскольку у экземпляров класса MovieClip нет свойства score.
|
А практический пример? Я понимаю что могу сделать в главном клипе метод addScore какой добавляет переданное число очков. Вопрос в том как мне обратиться к этому методу класса главного документа из к примеру класса Bonus, то есть из другого класса? root.addScore(100)? Так это не сильно отличается от того что я показал код выше.
Сформулирую вопрос по другому -
как называется объект основного класса документа чтобы я мог обращаться к его методам? Ведь как я понимаю он создается автоматически, какое у него имя? Или это и есть root?
А (root as MovieClip).score+=100 у меня прекрасно работает, также как и root.score+=100 если выбрать не "жесткую" компиляцию. Только это не верное решение.
Приведу пример: В делфи чтобы использовать функцию из другого класса мы просто подрубали нужный Unit к документу и спокойно юзали функции что есть в нем - к примеру просто GetSomething(3) без всяких адресаций к чему либо. Но если я импортирую основной класс документа в классе бонусов к примеру, я все равно не смогу манипулировать с переменными и функциями класса основного документа напрямую (как это можно в делфи). Как с этим быть во флеше?