Показать сообщение отдельно
Старый 14.07.2010, 18:25
dedalx вне форума Посмотреть профиль Отправить личное сообщение для dedalx Найти все сообщения от dedalx
  № 4  
Ответить с цитированием
dedalx

Регистрация: Mar 2010
Сообщений: 25
Цитата:
Сообщение от Хемуль Посмотреть сообщение
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) без всяких адресаций к чему либо. Но если я импортирую основной класс документа в классе бонусов к примеру, я все равно не смогу манипулировать с переменными и функциями класса основного документа напрямую (как это можно в делфи). Как с этим быть во флеше?


Последний раз редактировалось dedalx; 14.07.2010 в 18:29.