知识库

资源库

模板库

字体库

酷站区

讨论区
快 搜        热门搜索:
当前位置:主页 > 知识库 > 网页制作基础 > CSS >  文章内容

用CSS格式化Flash文本

2007-06-13 来源:  作者:  【收藏本文】【打印

        flashMX2004一个新的功能就是能加载外部的CSS文件并使之应用到flash文本, 现在有一个新的类(类?因为新的ActionScript2是基于类的脚本语言):TextField.StyleSheet class,就是这个类的几个方法使我们能象给HTML定义CSS一样来格式化flash文本,比如字体大小,颜色,位置等等。以后我们要改变flash文本的样式就只要修改外部的CSS文件而不必再到FLA文件中修改了。
    在开始之前需要确定你安装了flashMX2004并懂点HTML的知识,这应该基本上都做得到吧,OK~预备……开始~

        首先新建一个CSS文件,你可以用DWMX2004也可以用其他文本编辑工具:.textTitle {
       
        font-size: 12px;
        font-weight: bold;
        color: #993300;
        text-align: center;
    }
    .textContent {
       
        font-size: 12px;
        color: #000000;
    }
         保存文件并命名为externalCSS.css,接着新建一个flash文档,从Components面板里拖(或双击)一个TextArea组件到场景,
    click for full size


    并给组件命名为“myText”:

    click for full size


    TextArea组件的高和宽根据你文本的多少来确定,并确保其HTML参数为true:

    click for full size
    接下来就要写AS了,选中在时间线第一帧,按快捷键“F9”,弹出Action面板:

    // 新建样式表对象
    var myCss = new TextField.StyleSheet();
    // CSS文件位置
    var cssURL = "externalCSS.css";
    // 定义文本框组件的内容,这个随你.
    var textStr:String = "<p class='textTitle'>许魏 -- 一天</p>
       <span class='textContent'>
       清晨到夜晚 世界不停的旋转 寒冬已走远 春天带来无尽温暖
       我站在这里 静静感觉和你 走过的岁月 阵阵清风
       </span>";

    // 加载外部CSS文件并判断是否加载成功
    myCss.load(cssURL);
    myCss.onLoad = function(suc) {
      if (suc) {
        // 如果加载成功,设置文本框内容并应用加载进来的CSS
        myText.styleSheet = myCss;
        myText.text = textStr;
      }
    };
    上面这段AS我就不再解释,里面的注释写的很清楚,需要说明的是定义文本字符串的时候用到了两个HTML标签:<p>和<span>,作用就是为flash文本定义CSS,这就是我为什么前面提到需要一点HTML知识的原因。OK,保存flash到externalCSS.css文件的目录,Ctrl+Enter,是不是文本效果和CSS文件中定义的一样?呵呵,这么简单。


    你也可以使用TextField.StyleSheet class 这个类的setStyle()方法创建CSS,还是以上面为例:
    var myCSS= new TextField.StyleSheet();
    myCSS.setStyle("textTitle",
        {     font-size:'12px',
          font-weight:'bold',
          color:'#993300',
          text-align:'center'}
    );
    myCSS.setStyle("textContent",
        {      font-size:'12px',
          color:'#000000'}
    );
    var textStr:String = "<p class='textTitle'>许魏 -- 一天</p>
        <span class='textContent'>
        清晨到夜晚 世界不停的旋转 寒冬已走远 春天带来无尽温暖
        我站在这里 静静感觉和你 走过的岁月 阵阵清风
        掠过我的身体 它将我唤醒 静观着所有的悲喜 都熔近灿烂夕阳里</span>";
    myText.styleSheet = myCSS;
    myText.text = textStr;

    这段代码和上面加载外部CSS文件的效果是一样的。
    附图:[flash支持的CSS1.0属性值]

    click for full size
    最新五条评论 点击查看全部评论评
    发表您的评论
    用户名:新注册) 密码: 匿名评论
    评论内容(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
    1:用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
    2:本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
    3:请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为