1

你好,我已经好几年没用过 flash 了,需要在我的新 AS3 横幅中使用一些旧的跟踪代码。我注意到在 3.0 中,您不能将动作脚本放在对象本身上,而只能放在时间轴上。

我需要转换这个 As2 脚本,我通常会在标有“my_button”的按钮上

on (release) { 
getURL (_level0.clickTag, "_blank"); 
}

在时间轴上为标记为“my_button”的按钮使用的等效代码片段是什么?

4

4 回答 4

5

这是 Google 的 clickTag 建议:

import flash.events.MouseEvent;

import flash.net.URLRequest;

// ......

someButton_or_displayObject_to_receive_mouseClick.addEventListener(MouseEvent.CLICK,
                   function(event: MouseEvent) : void {
                   flash.net.navigateToURL(new URLRequest(root.loaderInfo.parameters.clickTAG), "_blank");
                   } 
);
于 2013-03-27T23:24:01.897 回答
3

我看到了一些不同的例子,但没有一个与我使用的方法相同;

这是完整版,只需复制粘贴并添加到您的 URL AS3

import flash.events.MouseEvent;
import flash.net.URLRequest;

// add event listener to listen for "btnOpen" click
btnOpen.addEventListener(MouseEvent.CLICK,openFuction);

// add our openFuction
function openFuction(e:MouseEvent){
    var openPage:URLRequest=new URLRequest("https://mysite.co.uk")
    navigateToURL(openPage,"_blank");
        }
于 2013-06-13T10:29:00.293 回答
2

还有另一种方法,它不一定依赖于 ExternalInterface 类的使用。您也可以尝试这样的事情(假设您在舞台上的对象的实例名称为“mybtn_mc”:

mybtn_mc.addEventListener(MouseEvent.CLICK, openWebpage);
//
function openWebpage(e:MouseEvent):void {
    var my_url:URLRequest = new URLRequest("http://stackoverflow.com/questions/15580069/geturl-in-as3-how-to/15639569");
    flash.net.navigateToURL(my_url, "_self");
}
// if you want the object to act like buttons do in AS2
// with the handcursor effect when you mouse over them,
// you would include the following lines:
mybtn_mc.buttonMode = true;
mybtn_mc.useHandCursor = true;
于 2013-03-26T14:26:58.493 回答
0

这是用时间线风格写的,我不赞成。但我感觉您甚至还没有准备好获得有关课程及其工作方式的信息。

myButton.addEventListener(MouseEvent.CLICK, openWebpage);

功能打开网页(e:鼠标事件):无效{
   如果(外部接口。可用){
      var callReturn:String = ExternalInterface.call('function(){window.open("http://www.yourURL.com", "_blank", "top=0,left=0,width=800,height=600 ");}');
   }
}

请注意,您不应该试图超出当前 MC 的范围,但是如何做其他事情超出了这个答案的范围。如果有兴趣,请搜索依赖注入。

于 2013-03-22T22:18:34.977 回答