xin's blog

Just have a little faith.
  首页  :: 管理

利用scroll做文本左右滚动

Posted on 2009-10-16 17:05  greatxin  阅读(489)  评论(0)    收藏  举报
手机或者其他数码设备在显示文本时,如果显示不全,则用文本左右移动来替代:
txt是舞台上的一个单行动态文本.
as2:
var txtContent = "轻轻地我来了正如我轻轻地走------------------->>>";
//////////////////////////////////////////////////
this.createTextField("visualTxt",this.getNextHighestDepth(),0,0,txt._width,txt._height);
visualTxt.text 
= txtContent;
visualTxt._visible 
= false;
//trace(visualTxt.textWidth);
//////////////////////////////////////////////////
txt.text = txtContent;
var id:Number;
var i:Number 
= 0;
var speed:Number 
= 5;
function scrollTxt() {
    i 
+= speed;
    txt.hscroll 
= i;
    
if (i>(txt.textWidth-txt._width)) {
        speed 
= -5;
    }
    
if (i<0) {
        speed 
= 5;
    }
}

if (visualTxt.textWidth>visualTxt._width) {
    
if ((!id)) {
        id 
= setInterval(scrollTxt, 100);
    }
}
as3版本:
//as3版
var txtContent = "轻轻的我来了正如我轻轻的走------------------->>>";
txt.text 
= txtContent;
//////////////////////////////////////////////////
var visualTxt:TextField = new TextField();
visualTxt.text 
= txtContent;
//trace(visualTxt.textWidth);
//////////////////////////////////////////////////
var id:Number;
var i:
int = 0;
var speed:
int = 5;
if(visualTxt.textWidth > txt.width){
    
if(!(id)){
        id 
= setInterval(scrollTxt,100);
    }
}
function scrollTxt():
void{
    i
+=speed;
    txt.scrollH 
= i;
    
if(i > (txt.textWidth - txt.width)){
        speed 
= -5;
    }
    
if(i < 0){
        speed 
= 5;
    }
}