FlashMX 2004新功能实战──格式化的Flash文本

IT商界

  在FlashMX 2004中,增加了一个新的类── TextField.StyleSheet class,使用这个类,我们便能利用CSS格式化Flash文本,比如字体大小,颜色,位置等等。

  关于级联样式表(CSS)

  对于网页设计者来说CSS不是一个陌生的概念,它指的是“层叠样式表”。在利用HTML编写网页的时候,我们发现有些设计不能利用现有的HTML语言来实现,比如文本的重叠。而另外有一些功能的实现过于烦琐,例如字体的控制,我们不能一次性更改所有相同类型文字的特性(颜色、字体、大小等),而必须一点点地选择、修改。

  为了弥补这个缺陷,W3C(全球互联网联盟)在1996年12月通过了CSS1标准,该标准制定了样式的基本规则并规定了格式化网页元素的语法,该标准包含对字体,颜色,表格,图片,文本等的规范。我们可以使用它定义一个CSS文件,将所有的文字、表格、超级链接属性放置在这个文件中,网站的所有页面与这个文件链接,从中间读取需要的属性。当需要修改某些特性的时候只要更改这一个文件即可,不必对页面中的内容做任何修改,可以极大地提高工作效率。

  在老版本中我们必须把文字导入,或者是直接写入Flash文件,在Flash中对文字进行修改,这与早期的网页设计没有什么区别,烦琐而枯燥,但是现在不同了。Flash MX 2004支持CSS样式表,这意味着我们可以使用CSS来格式化在Flash中出现的文字,更灵活地控制表格与排版。

  实战:使用CSS控制Flash的文本

  1.新建一个Flash文件,设置文件大小为550×400px,背景色为白色。

  2.在工具栏中选择文本工具,在属性(Properties)面板中将文本类型由Static Text修改为Dynamic Text,拖曳鼠标绘制一个文本区域。按下“Ctrl+K”打开对齐面板,设置居中对齐(图1)。

  3.使用箭头工具选择此文本框,在属性面板上设置Instance Name(实例名称)为Content。

  4.在时间轴上新建一层,使用矩形工具,无边框色,深红色为填充色绘制一个矩形,大小为550×20px。再使用文本工具在属性(Properties)面板中将文本类型由Dynamic Text修改回Static Text,输入文字“CSS控制Flash文本”(图2)。

  5.新建一层,将layer2放置在layer1下面。使用矩形工具绘制一个灰色的矩形背景。

  6.现在我们基本做完了在Flash中的操作,只差加入AS了,但是还有文本呢?CSS呢?现在开始制作,你可以使用Dreamweaver或者其他任意的文本编辑器来编辑CSS,推荐使用Homesite自带的Topstyle这款专业CSS编辑软件。打开Topstyle,输入如下CSS:

  .xz{

  font-size: 18pt;

  color: #009900;

  }

  .xz1{

  font-size: 18pt;

  color: #990000;

  }

  .xz2{

  font-size: 18pt;

  color: #000099;

  }

  将此文件保存为sample.css,并与我们制作的Flash文件存放在同一目录。

  7.再使用网页编辑软件制作一个网页,我这里制作一个简单的页面,包含一张图片,3段文字,其中图片为.jpg,放置在与Flash文件的同一目录下,以下是HTML代码:

  <span class="xz1">pcking Love Webdesign too</span>

  <img src="sample.jpg">

  将此段代码保存为sample.html,并与我们制作的Flash文件存放在同一目录。

  8.回到FlashMX 2004中,选择图层1上的第一帧,打开Action面板,输入如下AS:

  var ss:TextField.StyleSheet = new TextField.StyleSheet();

  ss.load("sample.css");

  content.styleSheet = ss;

  content.multiline= true;

  content.wordWrap = true;

  content.html = true;

  story = new XML();

  story.ignoreWhite = true;

  story.load("sample.html");

  story.onLoad = function () {

  content.htmlText = story;

  }

  最后,按下键盘上的“Ctrl+Enter”测试影片,你看到FlashMX 2004将我们制作的Sample.html文件按照设置的CSS进行格式化,并如图显示(图3)。

  技术参考

  毋庸置疑,使用CSS对Flash文本进行格式化是Flash MX 2004的重大改进,其中的优点不再详述,遗憾的是目前FlashMX 2004只支持CSS 1.0的若干属性,要支持CSS 2.0恐怕要等下一个版本的Flash了。为了避免大家在使用时出现错误,特随文附上Flash支持的CSS1.0属性表如下:

  注意事项

  由于Flash对于HTML的支持还不是很完善,因此你必须确定在HTML文件中使用的标记是被Flash MX 2004支持的,以保证效果。

  必须注意由于所有文件由外部导入,因此实际上这个效果由sample.css、sample.html、sample.swf三个文件完成。

  本文实例的源文件请在http://vip.5d.cn/pcking/flash2004a1.rar下载。