关于AS3 TextField 文字滚动使用问题


2010年07月21日 星期三 15:29
通常如果文字过多,文本框不能全部显示的情况下,我们会使用文字滚动来保持版面的结构。今天在制作滚动文字的时候发现了一个很郁闷的现象,于是对 TestField的scrollH属性进行了一些测试。主要问题是出在,当TestField的大小发生改变时,scrollH属性无法修改。

下面是一个相关的DEMO例子:

mc 是一个MovieClip,内嵌名为 txt 的TextField。正常运行时超长的文字会出现滚动,但当执行Resize事件后,txt发生大小发生变化,从输出信息可以看到,scrollH属性不再改变,文字也就不再滚动了,而且maxScrollH的大小也变了。窗口大小与maxScrollH的大小成反比。试了很久发现,把 mc.txt.scrollH += 1;改成mc.txt.scrollH += 2;就可以正常滚动了,但maxScrollH的大小还是变了。现在我还没弄明白是什么原因,估计与字体的大小和像素有关系。晚点再做些测试,找下原因,今天先到这里了。

mc.txt.text = "央行货币研究局前局长景学成表示,要注意的是央行此次的表态已经是“适度”,不会再产生类似09年的天量信贷了。";

mc.addEventListener(Event.ENTER_FRAME, mcEnterHandler);
stage.addEventListener(Event.RESIZE, resizeHandler);

function mcEnterHandler(e:Event):void {
if (mc.txt.scrollH<mc.txt.maxScrollH) {

trace("A: "+ mc.txt.scrollH, mc.txt.maxScrollH);
mc.txt.scrollH += 1;

trace("B: "+ mc.txt.scrollH, mc.txt.maxScrollH);
} else {
mc.txt.scrollH = 0;
}
}

function resizeHandler(e:Event):void {
mc.scaleX = stage.stageWidth/500;
mc.scaleY = stage.stageHeight/400;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值