-
22-07-2019 - |
题
这是我用来调用函数的代码 calc
在 JavaScript 中:
import flash.external.ExternalInterface;
ExternalInterface.addCallback("asFunc", this, asFunc);
function asFunc(str:String):Void {
out.text = "JS > Hello " + str;
}
send_btn.addEventListener(MouseEvent.CLICK, clickListener);
function clickListener(eventObj:Object):Void {
trace("click > " + mean.text);
ExternalInterface.call("calc", mean.text);
}
但我收到以下错误:
1046:未找到类型或类型不是编译时常量:空白。
我在这里做错了什么?(我修改了实时文档中的示例。)
解决方案
空隙应该是小写。
像这样:
void
其他提示
看起来(根据您的错误)您在这里遇到了几个问题:
- 在 AS3 中,ExternalInterface 采用两个参数,而不是三个
- AS3中的“Void”应该是“void”
假设你的 JavaScript 代码是这样的:
function myJSFunction()
{
myFlashObject.asFunc("Hello!");
}
function calc(s)
{
// ...
}
...您相应的 ActionScript 3 代码应该看起来更像这样:
import flash.external.ExternalInterface;
function myInitializationHandler():void
{
ExternalInterface.addCallback("asFunc", asFunc);
myFlexButton.addEventListener(MouseEvent.CLICK, clickListener);
}
function asFunc(str:String):void
{
//...
}
function clickListener(event:MouseEvent):void
{
// ...
ExternalInterface.call("calc", myFlexTextInput.text);
}
合理?
不隶属于 StackOverflow