首先,我想为我可怜的英语道歉,因为它不是我的第一语言。
我需要帮助将一段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;
}
我真的希望你能帮助我!
亲切的问候
答案 0 :(得分:0)
首先,即使你知道自己在做什么而没有language reference开放,我也不认为做AS2是可能的。
你将遇到的最大问题是事件的概念是非常原始和落后的。对于大多数类来说,有一种回调的事情正在发生。范围很难实现。看起来您正在使用时间轴代码而不是正确的类,因此您可能不会遇到范围问题。出于某种原因,这与帧脚本与类相比有所不同。如果确实有问题,请查看Delegate Class。
您想要了解的其他一些值得注意的事项: MovieClip onPress MovieClip loadMovie
祝你好运,如果这还不足以让你在那里回复。