1046:未找到类型或不是编译时常量:dude

时间:2013-02-16 13:56:45

标签: actionscript-3 flash flash-cs6

package  {
    import flash.display.MovieClip
    import flash.events.Event
    public dynamic class dude extends MovieClip{
        try
            {
        //public var _dude:dude;
        public const TYNGDE:Number = 2;

        private var _vx:Number = 0;
        private var _vy:Number = 0;
        public var _dude:dude;


        public function Test():void {
            try
            {
            _dude.x = 100;
            _dude.y = 100;
            }
            catch ( e:Error )
            {
                trace("Feilen er: " + e);
            }

            addEventListener(Event.ENTER_FRAME, nyskjerm);
        }

        private function nyskjerm(e:Event):void{
            _vy += TYNGDE;
            try
            {
                _dude.x += _vx;
                _dude.y += _vy;
            }
            catch ( e:Error )
            {
                trace("Feilen er: " + e);
            }


            SjekkBrett();
        }

        private function SjekkBrett():void{
            if (_dude.x < 0 && _vx < 0){
                _dude.x = 0;
                _vx *= -1;
            }
            else if ((_dude.x+100) > stage.stageWidth && _vx > 0){
                _dude.x = stage.stageWidth - 100;
                _vx *= -1;
            }
            else if (_dude.y <0 && _vy <0){
                _dude.y = 0;
                _vy *= -1;
            }
            else if ((_dude.y+200) > stage.stageHeight && _vy > 0){
                _dude.y = stage.stageHeight - 200;
                _vy *= -0.8;
            }
        }

    }
    catch ( e:Error )
            {
                trace("Feilen er: " + e);
            }

}}

我试过让这个班级与舞台同名。我试过没有实现dude,只是直接访问它,也没有用。错误说故障起源于第1行,但这对我来说没有多大意义。帮助

1 个答案:

答案 0 :(得分:0)

你在你的家伙班里宣布一个家伙对象 - 我认为那不是你想要的吗?

当您设置“_dude.x = 100;”时,_dude尚未实例化(即:为空),因此您无法在其上设置属性 - 从而导致错误。

如果我对您的要求更正确,只需在代码中将“_dude”替换为“this”并删除“public var _dude:dude;”完全。

用户1875642说;删除try / catch声明。