У меня есть метод: myMethod() {}
, который я хочу сделать доступным для javascript. Я сделал несколько исследований и выяснил, что вам нужно добавить функцию обратного вызова для ExernalInterface, так вот что я сделал:Ссылка на проблему при добавлении обратных вызовов к внешнему интерфейсу в Flash/ActionScript3
ExternalInterface.addCallback("invokeMyMethod", myMethod);
Теперь, когда я загрузить мой веб-страницу со вспышкой на нем, я получаю ошибка:
ReferenceError: Ошибка # 1065: Переменная myMethod не определена. на Main $ CInit() на глобальном $ Init()
MyMethod содержится в главном классе ... вот как выглядит Main.as:
package {
import flash.external.ExternalInterface;
import flash.events.Event;
//import a bunch of other things...
if(ExternalInterface.available) {
ExternalInterface.addCallback("invokeMyMethod", myMethod);
}
public class Main extends Sprite {
//A bunch of other methods...
public function myMethod(str:String):void {
//Do something here
}
}
}
Я понятия не имею, как сделать ExernalInterface.addCallback
понять, что myMethod
существует ... У кого-нибудь есть идеи?
Спасибо,
Matt
есть ли другой способ сделать это, кроме делать это статический? Я попытался поставить: ExternalInterface.addCallback ("invokeMyMethod", Main.myMethod); в основном классе, и я все равно получаю ту же ошибку ссылки ... Я не могу придумать, что еще делать. – Matt
btw static избавился от этой ошибки, но создал другие, поэтому я бы хотел избежать статичности, если смогу – Matt