2010-02-10 92 views
1

我遇到了在Flash CS4/AS3中添加到舞臺的影片剪輯問題。ReferenceError:錯誤#1056 - 實例名稱錯誤

Flash文件由兩個影片剪輯「內部」和「外部」組成。 「Inside」剪輯包含在Outside中,並且實例名稱爲「insideClip」。剪輯被附加到相同名稱(外部和內部)的Actionscript Class-Files,它們是「空的」 - 它們不做任何事情,就像Flash自動創建的那樣。

添加「外」到舞臺,我得到以下錯誤:

ReferenceError: Error #1056: property insideClip in Outside can not be created. 
at flash.display::Sprite/constructChildren() 
at flash.display::Sprite() 
at flash.display::MovieClip() 
at gui::Outside() 
at MyDocumentClass() 

我總是惹上麻煩知道的Flash和ActionScript實際上做幕後 - 有哪些推薦任何好的一般的ressource ?

PS .:該代碼是從德語版本翻譯的 - 如果我錯過了翻譯中的變量名稱。

代碼:

文檔類:

package 
{   
import flash.display.Sprite; 
import flash.display.MovieClip; 
import gui.Outside; 


public class MyDocumentClass extends MovieClip 
{ 
    public var aussen:MovieClip; 
    public function SelfDeclaredClips() 
    { outside = new Outside(); 
     outside.y = 100; 
     outside.x = 100; 
     addChild(outside);}}} 

課餘:

package gui 
{ 

import flash.display.MovieClip; 

public class Outside extends MovieClip 
{public function Outside(){}} 
} 

內線等級:

package gui 
{ 

import flash.display.MovieClip; 

public class Inside extends MovieClip 
{public function Inside(){}} 
} 

回答

3

如果沒有選擇在「ActionScript 3.0中設置」對話框的「聲明舞臺實例自動」複選框會出現此錯誤和繼續將階段實例聲明爲與包含MovieClip關聯的類中的私有變量。

您不能選擇僅總是自動聲明階段實例,而不要在鏈接到MovieClip Symbols的類中僞造繼承的使用。如果你是從A類派生和APrime鏈接到一個影片剪輯元件的類APrime,在基類中使用的所有階段情況下,必須手動在A級

OR

AS3錯誤1056聲明當您不正確地引用對象的屬性時出現。這會在您拼錯某些內容或者以AS2方式引用變量並帶有下劃線(_)時發生。 AS3錯誤1056實際上是相當不錯的,因爲它告訴你什麼變量不起作用,它告訴你哪個對象不起作用。

如果您嘗試動態地將一個變量分配給一個不自然地接受像textField之類的對象,您也可以得到此錯誤。

0

試着與你的裏面夾的名稱publicvar申報到你外夾:

package gui 
{ 
import flash.display.MovieClip; 

public class Outside extends MovieClip 
{ 
    public var insideClip:MovieClip; // here your declaration so the compiler can find it 

    public function Outside(){} 
} 
}