`
ch_kexin
  • 浏览: 899042 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

FLASH AS3 TextField 文本超链接控制示例(新闻列表)

 
阅读更多
这两天想自行设计一个唐酷的AS3+XML新闻列表(http://www.towncool.com/Samples/1/index.html)。但一直被textField加监听和TextFormat问题影响着,十分纠结。但终于问题解决。经多次测试发现两个基础问题:
一、TextFormat必须要设置在textField.text赋值之后。否则TextFormat样式调用不进去。尤其是对中文如此。但实际应用中,常先设置文本类,具体调用时再赋值。这样,TextFormat的作用就失去了。所以,强调先给text赋值,再设置TextFormat。
二、原以为textField属于InteractiveObjec类,即可交互,可直接触发TextEvent监听事件,实则不然,加监听前需设置XML 的href="event:myText"。我的理解:文本不能出发event,需要单独写名“event:”事件,另外,textfield需要.htmlText形式赋值。设置好textfield的内容赋值形式及XML,即可加监听了。

下面列出了一些常见的控制方法,供大家学习:
TextField以下示例提供了三种方法对文本显示控制,至于实际应用中选用哪种方法,看各人爱好了~~:



程序代码

//htmlText方法:
var tmp1_text:TextField=new TextField();
tmp1_text.x=10;
tmp1_text.y=10;
tmp1_text.width=200;
tmp1_text.height=60;
tmp1_text.htmlText = "<font color='#0033FF'>蓝色</font><font color='#ff0000'>红色</font><font color='#FF6600'>橙色</font>" +"\n" +
                       "<font color='#666666' size='11'>灰色</font><font color='#000000'>黑色</font><b><font color='#33CC00' size='18'>绿色</font></b>" +"\n";
addChild(tmp1_text);

//----------------------------------------------------------------------------------
//TextFormat方法:
var tmp2_text:TextField=new TextField();
var format1:TextFormat=new TextFormat();
var format2:TextFormat=new TextFormat();

tmp2_text.x=10;
tmp2_text.y=60;
tmp2_text.width=300;
tmp2_text.height=30;
tmp2_text.text="Case Study: The E8 Particle Simulator for Garrett...";

format1.size=15;
format2.size=25;
format1.color=0xff0000;
format2.color=0x00ff00;

tmp2_text.setTextFormat(format1,3,7);
tmp2_text.setTextFormat(format2,8,11);

addChild(tmp2_text);

//----------------------------------------------------------------------------------
//htmlText+css方法:
var tmp3_text:TextField=new TextField();
var style:StyleSheet = new StyleSheet();

tmp3_text.x=10;
tmp3_text.y=100;
tmp3_text.width=300;
tmp3_text.height=20;

style.setStyle(".style1",{color:'#000000',fontWeight:'bold'});
style.setStyle(".style2",{color:'#ff0000',fontSize:'15'});
style.setStyle("a:link", { color: '#006600', textDecoration: 'underline',fontSize:'12' });
style.setStyle("a:hover",{color:'#003399',fontSize:'12'});
style.setStyle("a:visited",{color:'#990000',fontSize:'12'});
style.setStyle("a:active ",{color:'#000000',fontSize:'12'});

tmp3_text.styleSheet = style;
tmp3_text.htmlText="<a href='#'>超链接</a>sdfwewe<span class='style1'>sdlfjsiodf fwekfw</span><span class='style2'> 看吧看吧</span>";

addChild(tmp3_text);



Htmltext中加入事件侦听,替换内容:

程序代码

var tmp_txt:TextField=new TextField();
addChild(tmp_txt);
tmp_txt.htmlText="<a href='event:th'>替换</a>";
tmp_txt.addEventListener(MouseEvent.CLICK,txtHandler);
function txtHandler(evt:MouseEvent):void {
    var xtxt:String=(tmp_txt.htmlText).split("替换").join("非常棒!");
    tmp_txt.htmlText=xtxt;
}



mp3列表曲目侦听,并应用样式:
程序代码
var style:StyleSheet = new StyleSheet();
style.setStyle("a:link", { color: '#006600', textDecoration: 'underline',fontSize:'12' });
style.setStyle("a:hover",{color:'#003399',fontSize:'12'});
style.setStyle("a:visited",{color:'#990000',fontSize:'12'});
style.setStyle("a:active ",{color:'#000000',fontSize:'12'});

var list:TextField = new TextField();
list.autoSize = TextFieldAutoSize.LEFT;
list.multiline = true;
list.styleSheet = style;
list.htmlText = "<a href="event:track1.mp3">Track 1</a><br>";
list.htmlText += "<a href="event:track2.mp3">Track 2</a><br>";
addEventListener(TextEvent.LINK, linkHandler);
addChild(list);

function linkHandler(linkEvent:TextEvent):void {
        trace(linkEvent.text);
}


<img>标签鼠标单击侦听:

程序代码
var txt:TextField=new TextField();
txt.width=300;
txt.;
txt.htmlText = '<div id="blogMar">'+
' <img  id="icon" src="http://img1.qq.com/blog/pics/15256/15256935.jpg" alt="" /><br>'+
'999999999999999999999999999999999999999</div>';
addChild(txt);

var emb :Loader= txt.getImageReference("icon") as Loader;
emb.addEventListener(MouseEvent.CLICK, onTextClick);

function onTextClick(e:MouseEvent):void {
    trace("click");
    //launch URL or whatever
}

分享到:
评论

相关推荐

    flash textfield 旋转文本

    在Flash中,文本字段(TextField)是用于显示和编辑文本的基本元素。在特定的设计或动画需求中,我们可能需要让文本以某种方式旋转,以实现动态效果或视觉吸引力。"Flash 文本框 旋转 textfield"这个主题就是关于...

    flash as3 文本编辑器

    在Flash AS3中,文本编辑器的开发是一项关键任务,特别是在创建交互式应用程序或游戏时。这个特定的项目,"flash as3 文本编辑器",涵盖了文本编辑的基础功能,如字体选择、字号调整、样式设置(粗体、斜体、下划线...

    Flash AS3 中文帮助文档

    《Flash AS3 中文帮助文档》是针对Adobe Flash Professional CS3中的ActionScript 3.0编程语言提供的中文版API参考手册。ActionScript 3.0是Flash平台上用于创建交互式内容、动画和富互联网应用程序(RIA)的主要...

    [转][AS3] flash.text.TextField應用攻略

    这篇博客文章主要探讨的是在ActionScript 3(AS3)中如何有效地使用`flash.text.TextField`类进行文本处理和显示。`flash.text.TextField`是AS3中一个重要的组件,用于在舞台上创建和管理文本。它提供了丰富的文本...

    flash as3 文本查找和替换

    在Flash AS3编程中,文本查找和替换是一个常见的任务,特别是在处理用户交互和数据操作时。这个场景描述了如何利用AS3(ActionScript 3)来读取本地TXT文件,并在其中执行查找与替换操作。以下是对这个主题的详细...

    as3随机滚动文本

    总的来说,AS3随机滚动文本涉及了文本显示、动画、用户交互、随机数生成等多个编程和设计概念,是ActionScript 3开发中一个实用且有趣的示例。通过研究这些文件,开发者可以学习如何在实际项目中应用这些技术,提升...

    Flash as3 打字效果

    总的来说,实现Flash AS3打字效果涉及到了文本处理、动画控制、事件处理和可能的声音集成等多个方面,它不仅提升了用户体验,也展示了AS3强大的动画和交互能力。在实际应用中,这种效果常用于新闻滚动、游戏文本展示...

    as3 textfild动态文本滚动条模型

    在ActionScript 3 (AS3)中,`TextField` 是一个重要的显示对象,用于在舞台上显示文本。在处理大量文本时,特别是在用户界面设计中,动态文本滚动条模型是必不可少的功能,它允许用户查看超出舞台可视区域的文本内容...

    [转]TextArea TextField 文本 即时显示最后一行

    在本文中,我们将深入探讨“TextArea”和“TextField”这两个在ActionScript 3(AS3)中用于处理文本输入的组件,以及如何实现文本即时显示最后一行的功能。这个功能在日志查看、聊天应用或任何需要实时跟踪文本更新...

    flashas3 api使用手册

    《Flash AS3 API 使用手册》是针对Adobe Flash Platform中ActionScript 3.0编程接口的详细指南,旨在帮助开发者深入理解和高效利用AS3语言在Flash Media Server 2上的应用。AS3是Flash平台上的一种强大脚本语言,为...

    as3.0富文本,可以插入表情图片,图文并排

    首先,AS3.0中的富文本主要通过`TextField`类来实现。`TextField`提供了多种方法和属性,用于创建、修改和显示文本。例如,`text`属性用来设置或获取文本内容,`htmlText`属性则支持HTML格式的文本,这使得我们能够...

    AS3.0TextField.txt

    ### AS3.0中的TextField元素详解 在Adobe Flash平台中,`TextField` ...此外,它还提供了一系列实用的方法来帮助开发者更好地控制文本内容及其布局,这使得 `TextField` 成为了开发交互式应用程序时不可或缺的一部分。

    张志晨之flash AS3 实用代码://过滤文字输入:

    在Adobe Flash Professional与ActionScript 3.0(简称AS3)开发环境中,文本输入控制是实现用户交互的关键环节之一。通过对TextField对象的`restrict`属性进行设置,可以有效地限制用户在特定文本框内输入的内容类型...

    flash游戏中的文本热区导航

    在AS3中,我们通常使用`TextField`类来创建和操作文本。`TextField`对象可以显示单行或多行文本,并支持基本的格式化和交互性。 2. **文本链接与热区**: 在网页设计中,超链接可以通过HTML的`&lt;a&gt;`标签实现,而在...

    flash as3 小游戏

    在本文中,我们将深入探讨如何使用ActionScript 3(AS3)在Adobe Flash环境中开发一款飞刀小游戏。ActionScript是Flash平台的核心编程语言,而AS3版本带来了许多性能提升和新特性,使得开发者能创建更复杂的交互式...

    as3文本热区导航,非link,可任意更改热区的鼠标样式

    本文将详细探讨如何利用AS3来创建文本热区导航,并且允许用户自定义鼠标样式,尽管标准的TextField类并不直接支持这些功能。 首先,我们要了解AS3中的TextField类。TextField是Flash环境中用来显示文本的基本组件,...

    时钟源代码 Flash as3.0

    在时钟的文本部分,开发者使用了 TextField 类来创建时钟的文本显示,并使用了 TextFormat 类来格式化文本内容。 该时钟源代码提供了一个基本的时钟架构,可以作为开发者的参考和学习材料。开发者可以根据需要对源...

    新技术培训 培训讲义3_AS3显示文本.doc

    通过这些方法,开发者可以灵活地在AS3环境中创建和控制文本的显示,满足各种设计需求。无论是简单的文本显示还是复杂的格式化文本,都可以通过TextField类及其相关属性和方法来实现。对于编程新手来说,掌握这些知识...

    as3滚动文字

    AS3滚动文字是一种在ActionScript 3.0(AS3)环境中实现的动态文本效果,常用于网页、游戏或互动媒体项目中。这种效果可以使文本按照特定方向(如横向或纵向)连续滚动,以创建动态的视觉展示。下面将详细解释AS3...

    dianzhi.zip_as3_flash as3 时钟_flash电子时钟

    《深入解析AS3 Flash电子时钟制作》 在数字时代,Flash作为一种强大的动画制作工具,曾经在网页设计和互动媒体领域占据着重要地位。而ActionScript 3(简称AS3)作为Flash的编程语言,更是赋予了它无尽的可能性。...

Global site tag (gtag.js) - Google Analytics