Flash / AS3:未找到类型或不是编译时常量

时间:2013-06-20 12:46:22

标签: actionscript-3 flash actionscript

自从我接触过AS3已经有好几年了,但有一个项目需要一些脚本。

我正在尝试将“目录”菜单向下滑动,然后向上滑动,具体取决于通用的“打开/关闭”按钮。这个概念与在jQuery中使用.slideToggle()相同。

我已经创建了一个MovieClip,给它一个实例名称,并在我的库中为ActionScript导出它,但出于某种原因,当我尝试运行一个方法将其向下移动325px时,我不断收到此错误:

1046:找不到类型或者不是编译时constanc:toc。

我意识到该库缺少某个引用,但由于MC具有实例名称并已导出为AS,我对它可能是什么感到有些困惑。我的所有脚本都在第1帧,我没有使用任何外部类。任何帮助/指针将不胜感激!!当我尝试在代码底部创建电子邮件链接时,我也遇到了同样的问题。

再次,任何帮助将不胜感激!!谢谢!

import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.display.SimpleButton;

// Initial load elements
gotoAndStop("Frame1");
UpdateFrame();

// Mouse events
btnNextSlide.addEventListener(MouseEvent.CLICK, NextSlide);
btnPrevSlide.addEventListener(MouseEvent.CLICK, PrevSlide);
btnTOC.addEventListener(MouseEvent.CLICK, ShowToC);
//btnDifferenceLink.addEventListener(MouseEvent.CLICK, Email);

// Various Methods
function NextSlide(event:MouseEvent):void
{
// find current slide, go to next slide
var currentFrame = this.currentFrame;
var nextFrame = currentFrame + 1;

if (int(nextFrame) == this.totalFrames)
{
    // stop
    gotoAndStop("Frame" + this.framesLoaded);
}
else
{
    // go to next slide
    gotoAndStop("Frame" + nextFrame);
}

// go to and stop at the next frame
UpdateFrame();
}

function PrevSlide(event:MouseEvent):void
{
// find current slide
var currentFrame = this.currentFrame;
var prevFrame = currentFrame - 1;

if (int(prevFrame) == 1)
{
    // stop
    gotoAndStop("Frame1");
}
else
{
    // go to next slide
    gotoAndStop("Frame" + prevFrame);
}

// go to and stop at the next frame
UpdateFrame();
}

function UpdateFrame():void
{
txtCurrentSlide.text = this.currentFrame.toString();
}

function Email():void
{
var email:URLRequest = new URLRequest("mailto:emailaddress");
navigateToURL(email, "_blank");
}

function ShowToC():void
{
// slide Table of Contents down
toc.y = 325;
}

function HideToC():void
{
// slide Table of Contents up
toc.y = -325;
}

1 个答案:

答案 0 :(得分:11)

我刚刚找到了解决方案!

curtismorley.com/2007/06/20/flash-cs3-flex-2-as3-error-1046

在他的第一段中,他提到你舞台上的物品和你的图书馆中的物品名称不同。就我而言,我有一个名为" toc"在图书馆里,正在引用" toc"通过实例名称。通过改变这个问题,问题已经解决了。在这个愚蠢的错误中,我一直在寻找一天半的时间。