我在另一个MovieClip中有一个movieClip。我为子movieClip提供了实例名"hSprite“,并将其添加到父movieClip stage。现在我得到一个错误,如下所示。
[Fault] exception, information=ReferenceError: Error #1056: Cannot create property hSprite on com.objects.Hero.如果我从子电影剪辑中删除实例名称,那么错误就会消失。但是当我重新添加实例名称时,错误再次出现。
请记住,这两个类都设置为导出。
父类是由一个自定义类嵌入的,它工作得很好。但是当我给这个子movieClip一个实例名的那一刻,这个错误又开始了。
下面是嵌入父类的类。我最初想要做的是访问英雄符号中的子MovieClip
package com.objects
{
import flash.display.MovieClip;
import flash.events.*;
/**
* ...
* @author Anthony Gordon
*/
[Embed(source='../../../bin/Assets.swf', symbol='Hero')]
public class Hero extends GameObject
{
private var aKeyPress:Array;
private var jumpDisabled:Boolean = false;
//private var heroSprite:MovieClip;
public function Hero()
{
wY = 150;
wX = 90;
speed = .5;
aKeyPress = new Array();
TheGame.sr.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener);
TheGame.sr.addEventListener(KeyboardEvent.KEY_UP,keyUpListener);
}
private function keyDownListener(e:KeyboardEvent):void {
//trace("down e.keyCode=" + e.keyCode);
aKeyPress[e.keyCode]=true;
}
private function keyUpListener(e:KeyboardEvent):void {
//trace("up e.keyCode=" + e.keyCode);
aKeyPress[e.keyCode]=false;
}
override public function UpdateObject():void
{
Controls();
updatePosition();
}
private function Controls():void
{
if (aKeyPress[38])//Key press up
;//dy -= speed;
else if (aKeyPress[40])//Key press down
dy += speed;
if (aKeyPress[37])//left
{
dx -= speed;
}
else if (aKeyPress[39])//Right
{
dx += speed;
}
if (aKeyPress[32]){//space
jump();
}
}//End Controls
private function jump():void
{
if (!jumpDisabled)
{
if (onGround)
{
dy = -15;
jumpDisabled = true;
}
}
else
{
jumpDisabled = false;
}
}
}
}发布于 2010-02-17 10:51:26
您需要使hSprite剪辑成为该类中的公共变量。
public var hSprite:MovieClip;https://stackoverflow.com/questions/2277857
复制相似问题