文档类错误#1034

时间:2011-10-11 16:53:49

标签: flash actionscript-3

你好,我上了一堂课,一切正常。然后我将它添加到文档类和粉扑中,错误1034发生。

  

错误#1034:类型强制失败:无法转换   flash.display :: MovieClip @ 2be9dba1到fl.text.TCMText。   在flash.display :: Sprite / constructChildren()
  在flash.display :: Sprite()
  在flash.display :: MovieClip()
  在Wyjazd()
  在Wyjazd / wyskok()

我的班级代码。

package 
{
    import fl.transitions.Tween;
    import fl.motion.easing.*;
    import flash.filters.*;
    import flash.events.MouseEvent;
    import flash.display.Stage;
    import flash.display.MovieClip;

    public class Wyjazd extends MovieClip
    {

        public function Wyjazd(ar:Array=null)
        {
            if (ar!=null)
            {
                init(ar);
            }
        }

        public function init(ar:Array):void
        {
            var time:Number = 0.2;
            var offset:Number = 0;
            var posX:Array = new Array(12);
            for (var i:Number = 0; i < ar.length; i++)
            {

                var tween:Tween = new Tween(ar[i],"x",Sine.easeOut,ar[i].x,266.65 + offset,time,true);

                ar[i].addEventListener(MouseEvent.CLICK,onClick);
                posX[i]=ar[i].x;
                time +=  0.02;
                offset +=  15.25;
            }


            function onClick(e:MouseEvent)
            {
                time = 0.2;
                for (var i:Number = 0; i < ar.length; i++)
                {
                    var tween:Tween = new Tween(ar[i],"x",Sine.easeOut,ar[i].x,posX[i],time,true);      
                    time +=  0.02;
                }
            }

        }

    }
}

框架代码:

import flash.events.MouseEvent;
import fl.transitions.Tween;
import flash.display.MovieClip;
stop();
ofertaBTN.addEventListener(MouseEvent.CLICK, wyskok);
function wyskok(e:MouseEvent)
{
     var vektor:Array =new Array (I,II,III,IV,V,VI,VII,VIII,IX,X,XI,XII);
     var menu:Wyjazd = new Wyjazd(vektor);
}

1 个答案:

答案 0 :(得分:0)

我不能肯定地看着你的.FLA但是......

基于错误,你得到的是你试图转换文本(你的vektor阵列(I,II,III,...)到一个MovieClip和flash不会让你这样做。你不能Tween不显示对象。

我将假设您正在尝试定位实例名称为I,II,III,IV,V,......的舞台上的实例。

不是在框架中构建数组,而是尝试在文档类中构建它。我在这里建立了一个简单的例子:

package  {

    import flash.display.MovieClip;
    import flash.events.Event;
    import fl.transitions.Tween;
    import fl.motion.easing.*;


    public class arrayInst extends MovieClip {

        public var allInstanceReferences:Array;

        public function arrayInst() {
            // constructor code

            allInstanceReferences = new Array(I, II, III, IV, V);
            this.addEventListener(Event.ENTER_FRAME, moveAllReferences);
        }

        private function moveAllReferences(e:Event):void{
            for (var i:uint = 0; i < allInstanceReferences.length; i++){
                var tweenThis:Tween = new Tween(allInstanceReferences[i], "x", Sine.easeOut, allInstanceReferences[i].x, 250, 2, true);
            }
        }
    }

}

我的allInstanceReference数组包含对TLF Textfield [I]和MovieClip [II - V]的引用,所有对象都没有问题。