我有三个Flash广告需要充当广告客户网站的直接链接。我无法上班!我将代码直接放入广告中,光标现在会出现在广告上,但不会点击。
答案 0 :(得分:1)
我将假设您正在使用ActionScript 3.如果没有,您可以将项目的设置更改为ActionScript 3,前提是横幅中没有其他代码。
转到第一个关键帧并编写以下代码:
stage.addEventListener(MouseEvent.CLICK, onClick);
function onClick(evt:MouseEvent):void {
var req:URLRequest = new URLRequest('http://www.stackoverflow.com');
navigateToURL(req);
}
但是,鼠标光标不会变成手形。你必须在最顶层创建一个透明的动画片段,然后写下:
而不是前面的代码 myMC.addEventListener(MouseEvent.CLICK, onClick);
myMC.buttonMode = true;
function onClick(evt:MouseEvent):void {
var req:URLRequest = new URLRequest('http://www.stackoverflow.com');
navigateToURL(req);
}
你的moviclip必须是舞台的高度和宽度,并且有一个任何颜色和0%不透明度的矩形。
PS:显然,将http://www.stackoverflow.com
替换为您希望横幅指向的网站。
答案 1 :(得分:1)
如果您想要一个简单的复制并粘贴可重复使用的AS3解决方案,那么将此代码粘贴到.fla然后重新发布:
// change this to the url you want to go to, and use "_self" or "_blank"
// to open the url when clicked in the same window, or in a new one
makeAllClickable("http://www.stackoverflow.com", "_blank");
var url: String;
var window: String;
function makeAllClickable(_url: String, _window: String) : void
{
url = _url;
_window = _window;
var clickArea: Sprite = new Sprite();
clickArea.graphics.beginFill(0,0);
clickArea.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
clickArea.buttonMode = clickArea.useHandCursor = true;
stage.addChild(clickArea);
clickArea.addEventListener(MouseEvent.CLICK, gotoURL);
}
function gotoURL(event: MouseEvent) : void
{
navigateToURL(new URLRequest(url), window);
}