动作。补间所有文本字段及其中的文本

时间:2015-01-29 12:05:36

标签: actionscript textfield tween

在我的动作3中我有一个文本字段,我填写了消息(从网络服务获取)。并非所有消息都是可见的,因此每个(例如)5s我将它们垂直移动到顶部。

要做到这一点,我正在使用Tween效果,但事实是,它只移动可见文本而不是其余文本(不可见的文本)。

滚动时 - 我可以看到其余的文字。 图像显示情况(对不起我的技能): Moving rows

以下是一些代码:填充消息对象的函数。另外还要计算每条消息需要显示的行数(因此我可以轻松使用补间效果(从 - 到))

        private function getNewMsg(e:ResultEvent):void
    {
        size = e.result.toString().split(" ").length - 1;
        for (var i=0; i<size; i++)
        {
            smsList.push(new smsItem(e.result[i].Id, e.result[i].text));
        }

        summ = 0;
        for (var d=0; d<size; d++)
        {   
            textfield.appendText(smsList[d].Text.toUpperCase()+'\n');
            if (d >= 1)
            {
                smsList[d].Lines = textfield.numLines  - summ;
                summ += smsList[d].Lines;
            }
                else
                {
                    smsList[d].Lines = textfield.numLines-1;
                    summ += smsList[d].Lines + 1;
                }
        }
        twEnd = smsList[1].Lines * (-30.5);
    }

在计时器上我正在启动Tween:

        function timerHandler(e:TimerEvent):void
    {

            myTweenX = new Tween(textfield, "y", None.easeIn, twStart, twEnd, 4, true)
            myTweenX.addEventListener(TweenEvent.MOTION_FINISH, tweenCompleted);

    }

    function tweenCompleted(e:TweenEvent):void
    {
        twInd++;
        twStart = twEnd;
        twEnd += smsList[twInd].Lines * (-30.5);

    }

1 个答案:

答案 0 :(得分:0)

发现问题。由于我固定的文本字段高度,文本不是。在制作了textfields height auto size后,evrything得到了修复。