·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS3.0百条最实用知识点全集(8)

时间:2012-11-22 23:54cnblogs.com
【样式化文字的方法】 1.使用HTML标签进行样式化; 2.使用TextFormat对象; 3.使用CSS. 例如:HTML是用font标签,TextFormat对象是设定font属性,而CSS是使用font-family属性的. 受支持的层叠样式表(CSS)属性和值,及其相

  【样式化文字的方法】
1.使用HTML标签进行样式化;
2.使用TextFormat对象;
3.使用CSS.
例如:HTML是用<font>标签,TextFormat对象是设定font属性,而CSS是使用font-family属性的.
受支持的层叠样式表(CSS)属性和值,及其相应的ActionScript属性名称(小括号内):
color(color),display(display),font-family(fontFamily),font-size(fontSize),font-style(fontStyle),font-weight(fontWeight),kerning(kerning),leading(leading),letter-spacing(letterSpacing),margin-left(marginLeft),margin-right(marginRight),text-align(textAlign),text-decoration(textDecoration),text-indent(textIndent)
受支持的HTML实体:<(小于号:<),>(大于号:>),&(和:&),"(双引号:"),'(撇号,单引号:')
其中样式对象的两种写法:
写法一:
varsampleStyle:Object=newObject();
sampleStyle.color="#FFFFFF";
sampleStyle.textAlign="center";
css.setStyle(".sample",sampleStyle);
写法二:
varsampleStyle:Object={color:"#FFFFFF",textAlign:"center"};
css.setStyle(".sample",sampleStyle);
【对用户输入的文字进行样式化】
使用defaultTextFormat属性,样式会施加至用户键入输入框的文字身上:
varformatter:TextFormat=newTextFormat();
formatter.color=0x0000FF;//把文字变成蓝色
field.defaultTextFormat=formatter;
【对现有文字的一部分进行样式化】
TextFormat.setTextFormat(format:TextFormat,beginIndex:int=-1,endIndex:int=-1):void
【设定文字框的字体】
例子:
HTML:field.htmlText="<fontface='Arial'>Formattedtext</font>";
TextFormat:formatter.font="Arial";
CSS:P{font-family:Arial;}
也可以使用以逗号隔开的字体清单:formatter.font="Arial,Verdana,Helvetica";
注意:
字体和字体群组不同.字体群组有三种:_sans,_serif以及_typewriter.
_sans群组一般就是指Arial或Helvetica这种字体;
_serif群组一般就是指Times或TimesNewRoman这种字体;
_typewriter群组一般就是指Courier或CourierNew这种字体.
【嵌入字体】
使用[Embed]后设标签.[Embed]后设标签应该出现在ActionScript文件中,处于类宣告之外.你可以内嵌TrueType字体或系统字体.内嵌TrueType字体时的语法:
[Embed(source="pathToTtfFile",fontName="FontName",mimeType="application/x-font-truetype")]
pathToTtfFile:ttf文件的路径,TrueType字体的路径可以是相对的,也可以是绝对的;
FontName:字体名称;
内嵌系统字体的语法:
[Embed(systemFont="TimesNewRoman",fontName="TimesNewRoman",mimeType="application/x-font-truetype")]
fontName:以相同名称作为实际系统字体名称.
注意:在使用嵌入字体时,要把TextField的embedFonts属性设为true,这样TextField只能用内嵌字体了.如果你试着替 embedFonts设为true的TextField使用设备字体,什么都不会显示.如果embedFonts设为true,就无法指定以逗号相隔的字 体清单.
【建立可以旋转的文字】
使用内嵌字体.当你旋转文字框时,设备字体就会消失.
【显示Unicode文字】
1.从外部来源载入Unicode文字;
2.假如你的编辑器支持Unicode(如FlexBuilder),则可以直接在ActionScript程序中使用该字符;
3.使用Unicode转义字符,ActionScript里所有Unicode转义字符都以\u开头,后面再跟四位十六进制数字.
注意:如果你想取得Unicode字符,在Windows下使用:开始>所有程序>附件>系统工具>字符映射表.
【把FlashPlayer的焦点带给文字框】
stage.focus=field;
把焦点移除:
stage.focus=null;
注意:当.swf文件首次载入至网页浏览器时,并没有焦点.因此,以程序的方式把焦点指定给Flash应用程序的一个元素前,必须先把焦点移至FlashPlayer.
【以ActionScript选取文字】
使用TextField.setSelection(beginIndex:int,endIndex:int):void
为了可以正常选取文字,文字框必须具有焦点:
stage.focus=field;//把焦点设给文字框
field.text="Thisisexampletext";//设定文字
field.setSelection(0,4);//把"This"这个单词以高亮显示
使用只读的selectionBeginIndex和selectionEndIndex属性访问所选取的字符范围的索引.
【在文字内设定安插点(游标位置)并访问游标位置的索引值】
可以使用TextField.setSelection()把起始和结尾的索引参数都设成相同值,在文字内设定游标位置(假设具有焦点):
field.setSelection(0,0);//在第一个字符前摆放安插点
trace(field.caretIndex);//输出游标位置的索引值
【当文本字段受到选取或取消选取时给予响应】
获得焦点时:FocusEvent.FOCUS_IN
失去焦点时:FocusEvent.FOCUS_OUT
通过键盘(Tab键)把焦点移除时:FocusEvent.KEY_FOCUS_CHANGE
通过鼠标把焦点移除时:FocusEvent.MOUSE_FOCUS_CHANGE
FocusEvent类有一个relatedObject属性.就FOCUS_IN事件而言,relatedObject属性是刚才拥有焦点的对象的引 用地址;对于FOCUS_OUT,KEY_FOCUS_CHANGE以及MOUSE_FOCUS_CHANGE事件,relatedObject属性是刚 接收到焦点的对象的引用地址.
FOCUS_IN和FOCUS_OUT事件都是在焦点改变后发生的,所以两者都是不可取消的事件.对于KEY_FOCUS_CHANGE和MOUSE_FOCUS_CHANGE事件,可以使用FocusEvent.preventDefault()方法取消默认行为:
field.addEventListener(FocusEvent.KEY_FOCUS_CHANGE,onKeyFocus);
privatefunctiononKeyFocus(event:FocusEvent):void{
if(field.text==""){
event.preventDefault();//当field没有任何文字前,不允许使用Tab键把焦点移除
}
//event.relatedObject就是刚才拥有焦点的对象的引用地址,即下一个获得焦点的对象的引用地址
}

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器