快速业务通道

能导入Html的自适应文本框

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


小弟首次写教程,不周之处望见谅.
  可能用过FlashMX2004组件的朋友,都知道有TextArea,虽然很实用,但是本人认为有两个缺点:
1.必须在第一帧导出,这样的话,即使做了
Loading,也要preloading 32K的内容之后再显示Loading画面,对网上播放很不利;
2.更改
TextArea介面不方便,很多时候只能用默认的Halo主题。 说了那么多,如果你有兴趣,不妨我们现在就开始把。 第一,新建2个按钮(箭头&BAR)和一个BAR的运动轨迹,如图。 按此在新窗口浏览图片 第二,将BAR和BAR的运动轨迹 这两个MC合并成一个导航条,命名“scroll“。
然后将箭头、导航拖到场景上。同时,在场景上拖一个动态文本框。命名和位置如图。 按此在新窗口浏览图片
第三,在upside按钮上写AS  on (release) {
_root.my_text.scroll--;//用来改变文本的当前行
}在downside按钮上写AS  on (release) {
_root.my_text.scroll++;//用来改变文本的当前行
}在时间轴上写AS Listener = new Object();
Mouse.addListener(Listener);
//给鼠标加入侦听器
Listener.onMouseWheel = function(delta) {
my_text.scroll = my_text.scroll-delta/2;
//这个最关键,delta 是数表滚轮滚动的距离,滚动1个刻度,delta=1
};
var ss:TextField.StyleSheet = new TextField.StyleSheet();//定义文本框的CSS
ss.load("sample.css");//倒入CSS文件
my_text.styleSheet = ss;
my_text.multiline = true; //定义文本框为多行
my_text.wordWrap = true;
my_text.HTML = true; //定义文本框为HTML格式,这很重要。
my_text.borderStyle = "none";
my_text.setStyle("marginRight", "20");//定义文本框的变矩。
my_text.textIndent = "50";
story = new XML();
story.ignoreWhite = true;
story.load("story.html");//倒入外部的story网页文件。并转换成XML格式。
story.onLoad = function() {
my_text.htmlText = story;//将story指向文本框。
if (this.my_text.maxscroll == 1) {
this.downside._visible = false;
this.upside._visible = false;
this.scroll._visible = false;
}
};第四,接下来都是写AS,要有点耐心哦。当初自己写,查AS的字典,眼都花(版主加分啊!!!!)。|
打开导航条的MC。定义Bar这个MC“show_scroll”, 定义长条的轨迹MC“show_scrollbg”
在时间轴上写AS:
show_scroll.onPress = function() {
scroll_lock = "no";//定义BAR的锁锭,下同
};
show_scroll.onRelease = function() {
scroll_lock = "yes";
show_scroll.stopDrag();
};
show_scroll.useHandCursor = false;
show_scrollbg.onPress = function() {
scroll_lock = "no";
};
show_scrollbg.onMouseUp = function() {
scroll_lock = "yes";
};
total_height = Math.abs(show_scrollbg._height-show_scroll._height);//定义导航条的总高度。
show_scrollbg.useHandCursor = false;
_root.onEnterFrame = function() {
if (scroll_lock == "no") {
show_scroll.startDrag(false, show_scroll._x, 2, show_scroll._x, total_height+2);
//拖动BAR
scroll_percent = Math.floor((Math.abs(show_scroll._y)/total_height)*100);
_parent.my_text.scroll=Math.floor(scroll_percent*(_parent.my_text.maxscroll)/100);
//计算拖动的百分比,调整

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号