首先getURL是as2及之前的做法,as3是这样的。
as3的使用URL
import flash.net.navigateToURL;
import flash.net.URLRequest;
// 用法
var targetURL:URLRequest = new URLRequest("lingo: movieDo(\"withLingo\")");
navigateToURL(targetURL);
import flash.net.URLRequest;
// 用法
var targetURL:URLRequest = new URLRequest("lingo: movieDo(\"withLingo\")");
navigateToURL(targetURL);
flash用getURL和director脚本交互有三种方式,lingo语句,直接调用event handler,和向D传string。
lingo语句
// Flash as2.0
getURL("lingo: MovieHandlerName(arg1, arg2, argn)");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("lingo: MovieHandlerName(arg1, arg2, argn)");
navigateToURL(targetURL);
-- Director (Movie script)
on MovieHandlerName a, b, c
put a && b && c -- puts: arg1 arg2 argn
End
getURL("lingo: MovieHandlerName(arg1, arg2, argn)");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("lingo: MovieHandlerName(arg1, arg2, argn)");
navigateToURL(targetURL);
-- Director (Movie script)
on MovieHandlerName a, b, c
put a && b && c -- puts: arg1 arg2 argn
End
event
// Flash as2.0
getURL("event: HandlerName, arg1, arg2, argn");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("event: HandlerName, arg1, arg2, argn");
navigateToURL(targetURL);
-- Director (Behavior script attached to Flash sprite)
on HandlerName me, a, b, c
put a && b && c -- puts: arg1 arg2 argn
end
getURL("event: HandlerName, arg1, arg2, argn");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("event: HandlerName, arg1, arg2, argn");
navigateToURL(targetURL);
-- Director (Behavior script attached to Flash sprite)
on HandlerName me, a, b, c
put a && b && c -- puts: arg1 arg2 argn
end
string
// Flash as2.0
getURL("Anything you want can go here");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("Anything you want can go here");
navigateToURL(targetURL);
-- Director (Behavior script attached to Flash sprite)
on getURL me, str
put str -- puts: Anything you want can go here
end
getURL("Anything you want can go here");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("Anything you want can go here");
navigateToURL(targetURL);
-- Director (Behavior script attached to Flash sprite)
on getURL me, str
put str -- puts: Anything you want can go here
end
或
// Flash as2.0
getURL("Anything you want can go here");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("Anything you want can go here");
navigateToURL(targetURL);
-- Director (Movie script)
on getURL str
put str -- puts: Anything you want can go here
End
getURL("Anything you want can go here");
// Flash as3.0
var targetURL:URLRequest = new URLRequest("Anything you want can go here");
navigateToURL(targetURL);
-- Director (Movie script)
on getURL str
put str -- puts: Anything you want can go here
End
-------------------------------------------
这种方式和在lingo中调用as的method进行比较,后者是确实调用了,并且一路做完了。
这种方式是,我只管向lingo扔一个“调用请求”,扔出来就算了事。做没做,那就不知道了。
测试下来,貌似是不管扔了多少次,在lingo的一帧内只做一次,其他的会被丢弃,并不累计到下一次。