将AS3代码段转换为AS2

时间:2012-06-22 10:47:34

标签: flash actionscript

首先,我想为我可怜的英语道歉,因为它不是我的第一语言。

我需要帮助将一段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;
} 

我真的希望你能帮助我!

亲切的问候

1 个答案:

答案 0 :(得分:0)

首先,即使你知道自己在做什么而没有language reference开放,我也不认为做AS2是可能的。

你将遇到的最大问题是事件的概念是非常原始和落后的。对于大多数类来说,有一种回调的事情正在发生。范围很难实现。看起来您正在使用时间轴代码而不是正确的类,因此您可能不会遇到范围问题。出于某种原因,这与帧脚本与类相比有所不同。如果确实有问题,请查看Delegate Class

您想要了解的其他一些值得注意的事项: MovieClip onPress MovieClip loadMovie

祝你好运,如果这还不足以让你在那里回复。