一、add(Point.add 方法)
public add(v:Point) : Point
将另一个点的坐标添加到此点的坐标以创建一个新点。
可用性:ActionScript 1.0;Flash Player 8
参数v:flash.geom.Point - 要添加的点。
返回flash.geom.Point - 新点。
下面的示例通过向 point_1 添加 point_2 来创建 Point 对象 resultPoint。
import flash.geom.Point;
var point_1:Point = new Point(4, 8);
var point_2:Point = new Point(1, 2);
var resultPoint:Point = point_1.add(point_2);
trace(resultPoint.toString()); // (x=5, y=10)
二、addCallback(ExternalInterface.addCallback 方法)
public static addCallback(methodName:String, instance:Object, method:Function) : Boolean
将 ActionScript 方法注册为可从容器调用。成功调用 addCallBack() 后,容器中的 JavaScript 或 ActiveX 代码可以调用在 Flash Player 中注册的函数。
可用性:ActionScript 1.0;Flash Player 8
参数:methodName:String - 从 JavaScript 调用 ActionScript 函数时可使用的名称。此名称不必与ActionScript 方法的实际名称匹配。
instance:Object - this 在该方法中被解析成的对象。此对象不一定是在其上可找到该方法的对象,您可以指定任何对象(或 null)。
method:Function - 要从 JavaScript 调用的 ActionScript 方法。
返回值为true - 如果调用成功,则返回 Boolean。如果调用由于下列原因而失败,则返回 false:实例不可用、遇到了安全限制、没有这种函数对象、发生了递归或类似情况。
返回值为 false 还可能表示包含环境属于调用代码无权访问的安全沙箱。您可以在包含环境的 HTML 中为 allowScriptAccess OBJECT 标签或 EMBED 标签设置一个合适的值,以解决此问题。
下面的示例将 goToMacromedia() 函数注册为可使用名称 goHome 从容器调用。
import flash.external.*;
var methodName:String = "goHome";
var instance:Object = null;
var method:Function = goToMacromedia;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method);
var txtField:TextField = this.createTextField("txtField", this.getNextHighestDepth(), 0, 0, 200, 50);
txtField.border = true;
txtField.text = wasSuccessful.toString();
function goToMacromedia() {
txtField.text = "http://www.macromedia.com";
getURL("http://www.macromedia.com", "_self");
}
为了使上一示例能够正常运行,应复制以下代码并将其粘贴到包含 HTML 页中。此代码依赖 OBJECT 标签的 id 属性和 EMBED 标签的 name 属性以获得值 externalInterfaceExample。由于 Internet Explorer 和 Netscape 以不同方式引用 movie 对象,所以函数 thisMovie 根据浏览器返回相应的语法。除非服务器上承载 HTML 页,否则您的浏览器可能会出现安全警告。
注意:请避免使用访问插件对象的其它方法(如 document.getElementById("pluginName") 或 document.all.pluginName),因为这些其它方法在所有浏览器上的运行不一致。
<form>
<input type="button" onclick="callExternalInterface()" value="Call ExternalInterface" />
</form>
<script>
function callExternalInterface() {
thisMovie("externalInterfaceExample").goHome();
}
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}
else {
return document[movieName]
}
}
</script>
三、addDelayedInstance(ExternalInterface.addCallback 方法)
public static addDelayedInstance(instance:Object, stringID:String) : Void
将 {实例, 字符串 ID} 对添加到内部数组中,供以后使用。它主要由 Flash 在字符串替换方法为 "automatically at runtime" 时使用。
可用性:ActionScript 2.0;Flash Player 7
参数instance:Object - 要填充的文本字段的实例名称。
stringID:String - 语言字符串 ID。
下面的示例使用 autoReplace 属性和 addDelayedInstance() 方法来用英语 XML 语言文件中的 IDS_GREETING 字符串填充舞台上的文本字段。
import mx.lang.Locale;
greeting_txt.autoSize = "left";
Locale.autoReplace = true;
Locale.addDelayedInstance(greeting_txt, "IDS_GREETING");
Locale.loadLanguageXML("en");