【发布时间】:2013-04-06 08:39:37
【问题描述】:
我是动作脚本 3 的菜鸟,所以请原谅这个详细的帖子! (和代码发布错误)
我正在制作一个交互式 Flash 项目...它有 17 个独立的场景...
- 介绍场景
- “主序列”
- 15 个单独的标题歌曲页面
我已经编写了 Intro-->“main”序列的脚本,没有任何问题 ....
我的问题是“主序列”有 15 个按钮,我需要将它们链接到 15 个单独的场景......我尝试了两组不同的代码(见下文)并不断收到编译器错误。 .. ..如果有人能告诉我这两种格式中哪一种最适合我的目的以及我到底做错了什么,我将不胜感激..
代码 1: 这是我用来将各个页面链接回主序列的修改后的代码
TD_g.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler1);
function mouseDownHandler1(event:MouseEvent):void {
gotoAndStop(1,"Tweedlee_Dee");
}
s_g.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler2);
function mouseDownHandler2(event:MouseEvent):void {
gotoAndStop(1,"Sincerely");
}
ats_g.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler3);
function mouseDownHandler3(event:MouseEvent):void {
gotoAndStop(1,"Ain’_that_a_shame");
...重复 15 次 ..._g部分是指我分配给主序列上每个按钮的唯一 实例名称 ...我更改了 #在每个MouseDownHandlr因为我在某处读到每个事件都必须不同(?)
..每次我测试场景时,我都会得到以下结果......
TypeError:错误 #1009:无法访问空对象引用的属性或方法。 在 music_Sheet_project_14_Main_Sequence_fla::MainTimeline/frame1( ...然后场景开始,并且它的动画随后是鼠标悬停效果,但是如果我点击它们应该返回错误的按钮(?)不会产生“反应”
...每次我测试电影(只用那个短代码!)我都会得到以下...
14 编译器错误
All 1021:重复的函数定义。来源:function mouseDownHandler(event:MouseEvent):void {
..所以我尝试了不同的路线...
**Code2 **这是我在尝试修复第一个代码时发现的风格不同的代码
stop();
TD_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
s_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ats_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
iyk_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
hms_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
tf_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
hd_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ld_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ll_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ts_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ipsy_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ysm_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ihm_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
iss_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
tl_g.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void
{
var nameOfButton:String = event.currentTarget.name;
if (nameOfButton == "TD_g")
{
gotoAndStop(1, "Tweedlee_Dee");
}
else if (nameOfButton=="s_g")
{
gotoAndStop(1, "Sincerely");
}
else if (nameOfButton=="ats_g")
{
gotoAndStop(1, "Ain’_that_a_shame");
}
else if (nameOfButton=="iyk_g")
{
gotoAndStop(1, "I_hear_you_knocking");
}
...包括第 64 行在内,这种情况又重复了 15 次
{
else if (nameOfButton=="ysm_g");
{
gotoAndStop(1, "You_shook_me");
当我尝试运行它时,我得到以下...
"1083: 语法错误:else is unexpected. 来源else if (nameOfButton=="ysm_g");
当我查找此内容时,我收到有关语法错误的建议...但是为什么会选择这一行而不是所有其他行...我已尝试重新键入和重新格式化,但我一直收到该错误.. .
*哪些代码最适合使用? (为什么它不起作用???) 任何/所有建议和帮助将不胜感激......谢谢! *
【问题讨论】:
-
在此处跟进新问题stackoverflow.com/questions/16000556/…(对于那些对结果感到好奇的人)
标签: actionscript-3 flash actionscript flash-cs5 flash-cs4