我正在尝试将相同的按钮功能添加到Flash中的2个不同符号。一个是徽标,另一个是我转换为符号的文本,该符号将在结束场景中显示。
我不明白我做错了什么,但我对Actionscript&闪光灯。
我的代码如下所示:
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.net.navigateToURL;
import flash.net.URLRequest;
myButton, txtButton.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
function onClick(e:MouseEvent):void{
navigateToURL(new URLRequest("http://www.true.land"), "_blank");
}
但是我收到了这个错误:
尝试使用网址启动并连接到播放器 C:\ Users \ Angela \ Desktop \ ASU \ GIT 314 \赋值 7 \ AngelaRogers_Assignment7.swf [SWF] C:\ Users \ Angela \ Desktop \ ASU \ GIT 314 \ Assignment 7 \ AngelaRogers_Assignment7.swf - 之后的351066字节 解压缩TypeError:错误#1009:无法访问属性或 null对象引用的方法。在 按钮/帧1()[按钮::帧1:7]
答案 0 :(得分:1)
你必须写两次 - 每个按钮一次,只从它的名字开始:child.addEventListener
。没有快捷方式可以同时为两个对象添加相同的内容。
答案 1 :(得分:1)
您可以编写快捷功能来轻松完成此操作。 (正如其他人所指出的,你的逗号是造成错误的原因)。我相信这更像是你所追求的:(特别是如果你不断添加更多按钮)。
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.net.navigateToURL;
import flash.net.URLRequest;
addClick(myButton, txtButton); //you can add as many items as you want as parameters
function addClick(...buttons):void {
//the ...buttons parameter is known as the '...rest' parameter, and is an array of all the parameters passed to the function
for each(var btn:Sprite in buttons){ //loop through all the items passed in and add the listener
btn.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
}
function onClick(e:MouseEvent):void{
navigateToURL(new URLRequest("http://www.true.land"), "_blank");
}