使用 ActionScript 设置消除锯齿

Flash 提供两种消除锯齿类型:正常和高级。高级消除锯齿仅适用于 Flash Player 8 和更高版本,并且只有在您将字体嵌入到库中且将文本字段的 embedFonts 属性设置为 true 时才可用。对于 Flash Player 8 和更高版本,借助于 ActionScript 创建的文本字段的默认设置为正常

若要设置 TextField.antiAliasType 属性的值,请使用以下字符串值:

正常 应用常规消除文本锯齿功能。这与 Flash Player 在第 7 版和更低版本中使用的消除锯齿类型匹配。

高级 应用高级消除锯齿功能以提高文本可读性,该类型适用于 Flash Player 8 及更高版本。使用高级消除锯齿时,即使字号很小,字型也能达到极高的呈现品质。它最适合具有大量小字号文本的应用程序。

提示

 

Adobe 不建议对大于 48 磅的字体使用高级消除锯齿。

若要使用 ActionScript 设置消除锯齿文本,请参阅下例。

使用高级消除锯齿:

  1. 创建一个新的 Flash 文档,并将其另存为 antialiastype.fla
  2. 在舞台上创建两个影片剪辑,其实例名称为 normal_mcadvanced_mc

    您将使用这些影片剪辑在两种消除锯齿类型之间进行切换:正常和高级。

  3. 打开“库”面板并从“库”面板右上角的弹出菜单中选择“新建字型”。

    随即打开“字体元件属性”对话框,在该对话框中可选择要嵌入到 SWF 文件中的字体(包括字体样式和字体大小)。还可以指定在文档库和“属性”检查器中的字体下拉菜单中显示的字体名称(如果您在舞台上选择了一个文本字段)。

    1. 从“字体”下拉菜单中选择“Arial”字体。
    2. 请确保未选中“粗体”和“斜体”选项。
    3. 将大小设置为 10 像素。
    4. 输入字体名称 Arial-10 (embedded)
    5. 单击“确定”。
  4. 在库中,右键单击字体元件,然后从上下文菜单中选择“链接”。

    即可出现“链接属性”对话框。

  5. 选中“为 ActionScript 导出”和“在第一帧导出”选项,输入链接标识符 Arial-10,然后单击“确定”。
  6. 将下面的 ActionScript 添加到主时间轴中的第 1 帧:
    var text_fmt:TextFormat = new TextFormat();
    text_fmt.font = "Arial-10";
    text_fmt.size = 10;
    
    this.createTextField("my_txt", 10, 20, 20, 320, 240);
    my_txt.autoSize = "left";
    my_txt.embedFonts = true;
    my_txt.selectable = false;
    my_txt.setNewTextFormat(text_fmt);
    my_txt.multiline = true;
    my_txt.wordWrap = true;
    
    var lorem_lv:LoadVars = new LoadVars();
    lorem_lv.onData = function(src:String) {
        if (src != undefined) {
            my_txt.text = src;
        } else {
            my_txt.text = "unable to load text file.";
        }
    };
    lorem_lv.load("http://www.helpexamples.com/flash/lorem.txt");
    
    normal_mc.onRelease = function() {
        my_txt.antiAliasType = "normal";
    };
    advanced_mc.onRelease = function() {
        my_txt.antiAliasType = "advanced";
    };
    

    前面的代码分为四个关键区域。第一个代码块创建一个新的 TextFormat 对象,该对象指定用于即将创建的文本字段的字体和字体大小。指定的字体 Arial-10 是在上一步骤中嵌入的字体元件的链接标识符。

    第二个代码块创建一个新的文本字段,其实例名称为 my_txt。为了正确嵌入字体,必须将该文本字段实例的 embedFonts 设置为 true。此代码还将新文本字段的文本格式设置为前面创建的 TextFormat 对象。

    第三个代码块定义一个 LoadVars 实例,该实例使用外部文本文件的内容对舞台上的文本字段进行填充。文档完全加载完毕之后(但未分析),整个文件内容将复制到 my_txt.text 属性,以便在舞台上显示。

    最后一个代码块,即第四个代码块为 normal_mc 影片剪辑和 advanced_mc 影片剪辑定义 onRelease 事件处理函数。用户单击和释放这些选项之一时,舞台上的文本字段的消除锯齿类型也将改变。

  7. 保存对 FLA 文件所做的更改。
  8. 选择“控制”>“测试影片”对 Flash 文档进行测试。
  9. 单击舞台上的 advanced_mc 影片剪辑。

    单击影片剪辑可将消除锯齿类型从正常(默认)切换到高级。处理具有较小字体大小的文本字段时,将消除锯齿设置为高级可大大提高文本可读性。

    提示

     

    使用高级消除锯齿时,即使字号很小,也能达到极高的呈现品质。它最适合具有大量小字号文本的应用程序。Adobe 不建议对大于 48 磅的字体使用高级消除锯齿。

有关对消除锯齿文本进行格式设置的信息,请参阅使用网格固定类型关于设置消除锯齿文本的格式

有关说明如何在应用程序中应用和操作消除锯齿文本的范例源文件 aliasing.fla,请参阅“Flash 范例”页,网址为 www.adobe.com/go/learn_fl_samples_cn。下载并解压缩 Samples zip 文件,然后定位到 ActionScript2.0/Advanced Anti-Aliasing 文件夹以访问该范例。使用高级消除锯齿技术可创建清晰易读的小字号文本。此范例还演示了在使用 cacheAsBitmap 属性时如何快速平滑地滚动文本字段。


Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000900.html