我们可以轻松地在 java 脚本中发出任何警报。是否有可能在 ActionScript 中获得此或类似的警报?
我在 ActionScript 中有以下测试类。 Trace 的作用与 java 脚本中的 console.log() 相同。是否可以在操作脚本中显示消息?
package {
import flash.display.MovieClip;
public class ooas3 extends MovieClip{
public var color:String = "red";
public var num:Number = 100;
public function ooas3() {
theMovie_DoFSCommand(color,"ooas3 num is "+num);
}
function theMovie_DoFSCommand(color, args) {
if (command == "red") {
trace(command + " - " + args);
// Can above line is replaced by Alert similar to java Script Alert ?
}
}
}
}
根据菲利普的建议,我在 actionscript docs: 上测试了以下类(class)
package {
import flash.text.TextField;
import flash.display.MovieClip;
import flash.external.ExternalInterface;
public class extint_test extends MovieClip {
public function extint_test() {
var isAvailable:Boolean = ExternalInterface.available;
var availTxt:TextField = new TextField();
availTxt.text = isAvailable.toString();
addChild(availTxt);
}
}
}
上面的代码类似于 JavaScript 来提醒“测试”。这是一个显示该消息的 Flash 窗口。但是如何在我的类中集成类似的代码。即如何使用此 Flash Alert 窗口替换 trace ("something")
?
最佳答案
可以通过两种方式在 Flash 环境中完成警报:
1. 最好的方法是使用 ExternalInterface 。它调用 javascript 警报函数并显示相应的内容。例如,
import flash.external.ExternalInterface;
ExternalInterface.call("alert", "Hello ExternalInterface");
swf 在 html 中加载时应调用警报窗口。
2. 第二种方法是编写您自己的自定义 Flash 组件/类,它显示一些带有 textfield 的影片剪辑。您需要编写函数来处理按钮单击时的可见性(“确定”)
像alert.show这样的东西在flash cs3及更高版本中作为组件mx.controls.Alert是不可能的仅在flash mx2004和flex环境中可用。
关于ActionScript 中的 JavaScript 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769831/