返回首页

实现Flash动态文本框内动态文本内容自适应方法

时间:2011-06-29 01:49来源:知行网www.zhixing123.cn 编辑:麦田守望者

这样一道题关于flash的:flash场景中有一个文本框,它的长和宽是已知的但是值不固定(可能是10×20也可能是462×139还有可能其他),然后我们有一个字符串长度已知但是同样不固定(可能1个字也可能562个字还可能其他)。目前我们要实现,调整字的大小使这些字要填满这个文本框,不能有滚动(字要完全显示出来)也不能空很大的空出来最好刚刚填满。
  这个问题困扰了我3、4天了还是没有办法解决其中的一些问题,写下我的实现办法。

  先我设想文本框和场景一样大,拖动flash影片的时候文本框长宽自然改变,但是值也是可以通过Stage获取的。然后文本内的文字设置一个变量。现在问题就变成无论怎么拖动这个flash,里面的自都是满满的填满了真个文本框,没有隐藏也没有太多空白。如下图
 

实现Flash动态文本框内动态文本内容自适应方法
 我的代码

stop();
Stage.scaleMode = “noScale”;
Stage.align = “TL”;
Stage.showMenu = false;
var i_txt:String = “其实电脑方面懂的太少其实电脑方面懂的太少其实电脑方面懂的太少”;
var t_w:Number = Stage.width-10;//减去边框霓虹灯的宽度
var t_h:Number = Stage.height-10;//减去边框霓虹灯的高度
  
var xn:Number = Math.ceil(Math.sqrt(i_txt.length * ((Stage.width-14) * 76) / (67 * (Stage.height-14))));//是对每行字体个数的估算,下面是对字行数的估算,问题就在这里。
var yn:Number = Math.ceil(i_txt.length/xn);
setProperty(”_root.nhd_b”, _y, Stage.height-3);//霓虹灯宽3像素,这里设置霓虹灯底部的边框
setProperty(”_root.nhd_r”, _x, Stage.width-3);//霓虹灯右边的边框
this.createTextField(”my_txt”, this.getNextHighestDepth(), 5, 5, t_w, t_h);//画出文本框
my_txt.type = “static”;
my_txt.multiline = true;
my_txt.border = true;
my_txt.wordWrap = true;
my_txt.selectable = true;
my_txt.hscroll = 0;
my_txt.text = i_txt;
var my_fmt:TextFormat = new TextFormat();
my_fmt.size = Math.floor((t_w-4)/(xn));//估算字的大小
my_fmt.color = 0xFF0000;
my_fmt.align = “left”;
my_fmt.leftMargin = 0;
my_fmt.rightMargin = 0;
my_fmt.indent = 0;
my_fmt.leading = 0;
my_fmt.letterSpacing = 0;
my_fmt.kerning = true;
my_txt.setTextFormat(my_fmt);
var sizeLis = new Object();
sizeLis.onResize = function() {
setProperty(”_root.nhd_b”, _y, Stage.height-3);
setProperty(”_root.nhd_r”, _x, Stage.width-3);
var xn:Number = Math.ceil(Math.sqrt(i_txt.length * ((Stage.width-14) * 76) / (67 * (Stage.height-14))));
var yn:Number = Math.ceil(i_txt.length/xn);
my_txt._width = Stage.width-10;
my_txt._height = Stage.height-10;
my_fmt.size = Math.floor((Stage.width-10-4)/(xn));
};
Stage.addListener(sizeLis);
 
------分隔线----------------------------
标签(Tag):FLASH FLASH龙8娱乐官网手机版 flash实例 flash源码 ActionScript
------分隔线----------------------------
推荐内容
  • Flash Cs5开启后反复要求重新输入激活码的解决办法

    本来已经输入了一串激活码,并且FlashCs5判断这串激活码是正确的,可以正常使用FlashC...

  • Flash CS4喷涂刷工具使用详解

    在Adobe flash CS4中喷涂刷工具的作用类似于粒子喷射器,使用它可以一次将图案刷到舞...

  • Flash线条工具使用详解

    flash中线条工具 就是用来绘制直线的工具,我们可以在其属性面板中设置直线的属性,其...

  • Flash中的浮动面板使用教程

    在Adobe flash中的编辑器的右侧和大多数Adobe设计软件类似是各项功能的功能面板。最初...

  • Flash漂亮的导航菜单动画制作龙8娱乐官网手机版

    1、新建一个Flash文档,单击属性面板的设置按钮,弹出文档设置对话框,设置尺寸为440*...

  • flash课件的制作原则

    科学性 flash课件制作一定要服从教学目标的需要,必须有严密的科学性,遵循教育科学规...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8娱乐官网手机版
  • Photoshop龙8娱乐官网手机版
  • 3DMAX龙8娱乐官网手机版
  • AutoCAD龙8娱乐官网手机版
  • CorelDRAW龙8娱乐官网手机版
  • Matlab龙8娱乐官网手机版
  • 其他龙8娱乐官网手机版
  • .Net龙8娱乐官网手机版
  • Asp龙8娱乐官网手机版
  • Php龙8娱乐官网手机版
  • Jsp龙8娱乐官网手机版
  • Ajax龙8娱乐官网手机版
  • Android教程
  • 其他龙8娱乐官网手机版
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影