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

AS3实用函数、AS3常用算法大合集(5)

时间:2011-08-26 14:42blueidea.com
【把项目新增至显示清单】 addChild(child:DisplayObject) addChildAt(child:DisplayObject, index:int) index: 添加该子项的索引位置.如果指定当前占用的索引位置,则该位置以及所有更高位置上的子对象会在子级列表

【把项目新增至显示清单】
addChild(child:DisplayObject) addChildAt(child:DisplayObject, index:int) index: 添加该子项的索引位置.如果指定当前占用的索引位置,则该位置以及所有更高位置上的子对象会在子级列表中上移一个位置.

【从显示清单中移除项目】
removeChild(child:DisplayObject) removeChildAt(index:int) index: 要删除的 DisplayObject 的子索引,该子项之上的任何显示对象的索引位置都减去1. 如果想移除窗口所有子元件,可以结合removeChildAt(),numChildren属性以及for循环.因为每次一个子元件被移除时,索引位置都会变化,所以,有两种方法可以处理所有子元件的移除: 1. 总是移除位置0的子元件; 2. 倒过来移除子元件,也就是从尾端开始.

【更改现有子项在显示对象容器中的位置】
setChildIndex(child:DisplayObject, index:int):void 可能用到的方法: 返回 DisplayObject 的 child 实例的索引位置: getChildIndex(child:DisplayObject):int 返回位于指定索引处的子显示对象实例: getChildAt(index:int):DisplayObject 注意: 当子元件移到低于它现在所在位置的索引时,那么,从标的索引起,直到子元件索引前面的那个索引的所有子元件都会令其索引增加1,而该子元件就会指定至标的索引.当子元件移到较高索引时,从该子元件索引之上的那个索引起,直到标的索引的所有子元件都会令其索引往下减1,而该子元件就会指定至标的索引值.

【关于TextField以垂直方式把文字摆在按钮表面中心点的小技巧】
textField.y = (_height – textField.textHeight) / 2; textField.y -= 2; //减2个像素以调整偏移量

【外部.swf影片载入和互动】
1. 监听init事件; 2. 透过content属性存取所载入的影片. 当所载入的影片做好足够的初始化工作,使其方法和属性可以接受互动时,init事件就会被发起.只有在载入器发起init事件后,才能控制影片.所载入的影片还没初始化就试着与它互动,是会产生执行期间错误的. _loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit); //当载入的.swf的属性和方法可用时 _loader.load(new URLRequest(“ExternalMovie.swf”)); private function handleInit(event:Event):void { var movie:* = _loader.content; trace(movie.getColor()); movie.setColor(0xFF0000); }

【TextField有两种类型:动态(dynamic)和输入(input),默认值为动态.改变TextField类型方法】
field.type = TextFieldType.INPUT; //selectable属性默认值为true flash.text.TextFieldType.INPUT和flash.text.TextFieldType.DYNAMIC

【过滤文字输入】
TextField.restrict = “此处为可输入的内容”; field.restrict = “^此处为禁止输入的内容”; restrict属性支持一些类似正则表达式的样式: field.restrict = “a-zA-z”; //只允许大小字母 field.restrict = “a-zA-z “; //只允许字母和空格 field.restrict = “0-9″; //只允许数字 field.restrict = “^abcdefg”; //除了小写字母abcdefg不允许外,其它都允许 field.restrict = “^a-z”; //所有小写字母都不允许,但是,其它内容都允许,包括大写字母 field.restrict = “0-9^5″; //只允许数字,但5例外让restrict字符包含具有特殊意义的字母(例如-和^): field.restrict = “0-9\\-”; //允许数字和破折号 field.restrict = “0-9\\^”; //允许数字和^ field.restrict = “0-9\\\\”; //允许数字和反斜杠你也可以使用Unicode转义序列,指定允许的内容.例如: field.restrict = “^\u001A”; 注意:ActionScript有区分大小写的,如果restrict属性设为abc,允许字母的大写形式(A,B和C)输入时会变成小写对待形式(a,b和c),反之亦然.restrict属性只影响用户可以输入的内容,脚本可将任何文本放入文本字段中.

【设定输入框的最大长度】
TextField.maxChars:int

【向TextField追加内容】
TextField.appendText(text:String):void 与通过对 text 属性使用加法赋值来连接两个字符串(例如 field.text += moreText)相比,此方法的效率更高.

【显示HTML格式的文字】
TextField.htmlText = “<b>Html text</b>”; 支持的HTML标签集有: <b>,<i>,<u>,<font>(有face,size以及color属性),< p>,<br>,<a>,<li>,<img>以及<textformat>(有 leftmargin,rightmargin,blockindent,indent,leading以及tabstops属性,相应于 TextFormat类的同名属性)

【缩减空白】
TextField.condenseWhite = true; 删除具有HTML文本的文本字段中的额外空白(空格,换行符等),如同多数HTML浏览器所做的那样. 注意: 在设置 htmlText 属性之前设置 condenseWhite 属性

【自动大小调整和对齐】
TextField.autoSize = TextFieldAutoSize.LEFT; 可选之值: flash.text.TextFieldAutoSize.CENTER flash.text.TextFieldAutoSize.LEFT flash.text.TextFieldAutoSize.NONE flash.text.TextFieldAutoSize.RIGHT

【指示文本字段是否自动换行】
TextField.wordWrap = true; //自动换行

【用程序手段滚动文字】
水平方向以像素为单位,而垂直方向以行做单位: scrollV: 指出文字框可见区域的最顶行,可读写; bottomScrollV: 指出文字框内最底端可见行,只读; maxScrollV: scrollV的最大值,只读; numLines: 定义多行文本字段中的文本行数,只读; TextField.scrollV = field.maxScrollV; //滚动到最后一页

【响应滚动事件】
field.addEventListener(Event.SCROLL, onTextScroll);

【样式化文字的方法】
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实体: <(小于号: <), >(大于号: >), &(和: &), “(双引号: “), ‘(撇号,单引号: ‘) 其中样式对象的两种写法: 写法一: var sampleStyle:Object = new Object(); sampleStyle.color = “#FFFFFF”; sampleStyle.textAlign = “center”; css.setStyle(“.sample”, sampleStyle); 写法二: var sampleStyle:Object = {color: “#FFFFFF”, textAlign: “center”}; css.setStyle(“.sample”, sampleStyle);

【对用户输入的文字进行样式化】
使用defaultTextFormat属性,样式会施加至用户键入输入框的文字身上: var formatter:TextFormat = new TextFormat(); formatter.color = 0x0000FF; //把文字变成蓝色 field.defaultTextFormat = formatter;

【对现有文字的一部分进行样式化】
TextFormat.setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void

热门文章推荐

请稍候...

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

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