2010-02-10 252 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(){} 
} 
}