![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Дано:
1. основной мув 2. загружаемый в него свф, посредством loader-а 3. переменная в основном муве Что делаю: Обращаюсь к переменной основного мува из чайлда: Не работает. Пробовал написать функцию. В основном муве: var request:URLRequest=new URLRequest("menu.swf"); menu.contentLoaderInfo.addEventListener(Event.COMPLETE, menu_loaded); menu.load(request); function menu_loaded (e:Event) { trace (menu.content); menu.content.loadProperlyLanguage('JPN'); } Тоже не работает. Говорит: 1061: Call to a possibly undefined method loadProperlyLanguage through a reference with static type flash.display isplayObject.В чем может быть проблема? |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
В том, что у DisplayObject, а menu.content это DisplayObject, нет метода loadProperlyLanguage. Вам нужно создаться интерфейс для подгружаемого мува, описать там loadProperlyLanguage
А потом вызвать |
|
|||||
|
Никогда не работал с интерфейсами. Я правильно понимаю, что нужно сделать так:
? |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Нет.
Вы создали интерфейс IOlolo (принято в названии интерфейса добавлять I в имени) Теперь в главном класс вашего подгружаемого объекта, нужно указать, что вы этот интерфейс используете. Допустим ваш класс называется Test, тогда его минимум такой: |
|
|||||
|
Создал интерфейс, имплементировал класс подгружаемого объекта. Выдает ошибку:
1044: Interface method loadProperlyInterface in namespace actions:IOlolo not implemented by class actions:menu1. Файл интерфейса: package actions { public interface IOlolo { function loadProperlyInterface(a:String):void; } } Что я делаю не так? |
|
|||||
|
Обращение в основном классе:
var request:URLRequest=new URLRequest("menu.swf"); menu.contentLoaderInfo.addEventListener(Event.COMPLETE, menu_loaded); menu.load(request); function menu_loaded (e:Event) { (menu.content as IOlolo).loadProperlyLanguage('JPN'); } |
|
|||||
|
так у вас ругается на класс menu1 ,а не menu
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Ненене, это я эксперименты просто ставил. Сейчас вот что:
1044: Interface method loadProperlyInterface in namespace actions:IOlolo not implemented by class actions:menu. Сделал файл интерфейса таким, думая, что там должна быть описана именно функция loadProperlyLanguage: package actions { public interface IOlolo { function loadProperlyLanguage(a:String):void; } } 1144: Interface method loadProperlyLanguage in namespace actions:IOlolo is implemented with an incompatible signature in class actions:menu. Последний раз редактировалось Sovnarkom; 27.11.2010 в 15:21. |
|
|||||
|
в вашем случае ошибка в том, что в интерфейсе указан возвращаемый тип, а в классе нет.
Добавлено через 4 минуты но правильно все-таки наоборот )
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью Последний раз редактировалось cleptoman; 27.11.2010 в 15:35. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|