2013-06-20 37 views
4

自從我觸及AS3以來已經有好幾年了,但是有一個項目需要一些腳本。Flash/AS3:找不到類型或者不是編譯時常量

我想要一個目錄菜單向下滑動,然後向上滑動,這取決於一個通用的打開/關閉按鈕。這個概念與在jQuery中使用.slideToggle()相同。

我已經創建了一個MovieClip,給它一個實例名稱並將其導出爲我的庫中的ActionScript,但由於某種原因,當我嘗試運行一種方法將其向下移動到325px時,我不斷收到此錯誤:

1046:類型未找到或不是編譯時常量: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; 
} 

回答

11

我剛剛找到解決方案!

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

在他的第一段,他提到在你的舞臺,並在媒體庫中的對象不能有相同的名稱。就我而言,我在庫中有一個名爲「toc」的資產,並通過實例名稱引用「toc」。通過改變這個問題,問題就解決了。我一直在尋找這個愚蠢的錯誤一天半..

相關問題