首先,我想为我糟糕的英语道歉,因为它不是我的母语。
我需要帮助将一段AS3脚本转换成AS2,我知道这有点像是一个“你能帮我做这个吗”的问题,但我真的解决不了。
这是一段需要转换为AS2的脚本:
var url:String = "http://media.admeen.com/branding/branding01.swf";
var w:int = 100;
var h:int = 100;
branding_def.addEventListener(MouseEvent.CLICK, onClickHandler);
branding_def.buttonMode = true;
branding_def.useHandCursor = true;
function onClickHandler(event:MouseEvent){
var variables:URLVariables = new URLVariables();
variables.lng = Capabilities.language;
var request:URLRequest = new URLRequest("http://media.admeen.com/branding/forward.php");
request.data = variables;
try {
navigateToURL(request, "_blank");
} catch (e:Error) {
trace("Error: ");
}
}
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, success);
if(Security.sandboxType == Security.REMOTE){
var context:LoaderContext = new LoaderContext();
context.securityDomain = SecurityDomain.currentDomain;
loader.load(new URLRequest(url), context);
} else {
loader.load(new URLRequest(url));
}
function success(evt:Event):void{
var branding:MovieClip = MovieClip(evt.target.content);
if (contains(branding_def)) removeChild(branding_def);
var fX = (w/branding.loaderInfo.width);
var fY = (h/branding.loaderInfo.height);
addChild(this.scaleToFit(branding,(branding.width*fX),(branding.height*fY)));
}
function scaleToFit(mc:MovieClip, maxW:int, maxH:int):MovieClip{
maxH = maxH == 0 ? maxW : maxH;
mc.width = maxW;
mc.height = maxH;
mc.scaleX < mc.scaleY ? mc.scaleY = mc.scaleX : mc.scaleX = mc.scaleY;
return mc;
} 我真的希望你能帮我解决这个问题!
亲切的问候
发布于 2012-06-23 09:01:14
首先,我认为即使你知道在没有打开language reference的情况下你在做什么,也不可能做AS2。
你会遇到的最大问题是事件的概念非常原始和落后。对于大多数类,有一种回调的想法正在进行。而且范围是不可靠的。看起来您使用的是时间线代码,而不是适当的类,因此您可能不会有作用域问题。由于某些原因,这与框架脚本和类的行为不同。如果您确实有问题,请查看Delegate Class。
您要查看的其他一些值得注意的内容: MovieClip onPress MovieClip loadMovie
祝你好运,如果这还不足以让你做到这一点,请回帖。
https://stackoverflow.com/questions/11154722
复制相似问题