KING_Flash学习之as3.0 常用方法

下面对在工作中常用到的as3.0整理一下:
一、Array数组
splice()方法删除指定位置的元素
splice方法格式:splice(start,deleteCount)
start:开始下标
deleteCount:删除的元素个数,如果没有定义则从起始位置start到末位全部删除。
var letters:Array=[“a”,”b”,”c”,”d”];
letters.splice(1,1)//从下标为1的元素开始删除1个元素.

学习AS3.0类Array方法method:pop() push()
使用目的:删除/增加数组的最后一个元素。
说明:pop方法会删除数组的最后一个元素,然后返回被删除的元素。push方法会添加新元素到数组中,并返回数组的新长度。push方法会将元素根据添加的顺序添加到数组尾端,如果添加的元素是一个数组,会将该数组作为一个元素加上去(以逗号连接数组元素成一个字符串,并将该字符串视为一个要添加的新元素)。
语法结构:
数组对象.pop()
数组对象.push(新元素或数组1,…,新元素或数组n)
范例:
nValue = yourArray.push(“Virtest”);
在yourArray数组的最末端添加新元素Virtest,并将添加新元素后的数组长度存入变量nValue。
trace(yourArray.pop());
将yourArray数组中的最后一个元素删除并输出被删除的数组元素。

AS3.0数组方法大全(精选)

indexOf,lastindexOf用来直接查找目标元素在数组中的索引。

indexOf用法: 目标数组.indexOf(要查找的元素) 或者 目标数组.indexOf(要查找的元素,查找的起始位置) //按索引从小到大查找,找到返回索引值

lastindexOf用法:目标数组.lastindexOf(要查找的元素) 或者 目标数组.lastindexOf(要查找的元素,查找的起始位置)//按索引从大到小查找,找到返回索引值

push用法:数组.push(元素);数组.push(元素1,元素2,…元素n) //在数组尾部新增一个或多个元素

unshift用法:数组.unshift(元素);数组.unshift(元素1,元素2,…元素n) //在数组头部新增一个或多个元素

pop用法:数组.pop() //将数组最后一个元素删除

shift用法:数组.shift() //将数组第一个元素删除,剩余元素索引值自动减1
splice的四种用途:
(1)数组.splice(删除点索引,要删除的元素数目,新元素1,新元素2,…新元素n) //从数组某位置开始,删除被指定数目的元素,并插入一些新元素。
(2)数组.splice(删除点索引,要删除的元素数目) //删除数组中某位置之后的几个元素
(3)数组.splice(删除点索引) //删除数组中某位置之后的所有元素
(4)数组.splice(删除点索引,0,新元素1,新元素2…新元素n) //在数组某位置之后,插入新元素
—-{删除点的索引可以是负值,表示数组从尾部倒数的位置。比如,索引为-3,指的是数组倒数第三个元素}

slice可以获取数组中一段连续的元素,而不改变原有数组的内容。也就是说从原有数组复制一部分数组出来组成一个新数组。
用法:数组.slice(起始索引,终点索引) //返回值是截取的元素组成的新数组,新中包括起点索引的元素,但不包括终点索引的元素。
数组.slice(起始索引) //返回的是从起始点索引开始到数组终点的这段元素
—-{起始点和终点的索引可以是负值,表示数组从尾部倒数的位置。比如,索引为-3,指的是数组倒数第三个元素}

concat将多个元素或数组拼成一个新的数组。
用法: 数组.concat(参数1,参数2,…参数n) //concat会将数组分开成各个元素按顺序加入新数组中
例子:
var foo:Array=[“a”,”b”,”c”]
var bar1:int=1
var bar2:Array=[2,3,4]
var newarr=foo.concat(bar1,bar2)
trace(newarr)
//输出:a,b,c,1,2,3,4
trace(newarr.length)
//输出:7
—-{concat与push的区别:concat不会改变原有数组内容,push直接改变原有数组内容。concat加入数组时会将数组打散再按顺序将元素加入到新数组中,push加入数组时会将整个数组当作一个元素加入到原数组的后面}
reverse能将数组元素倒序
用法:数组.reverse() //返回的是新的数组

sort对数组元素排序
用法:
(1)数组.sort() //默认排序 按照字符串字母顺序排序,如果元素是数值,也会被当成字符串来排序
(2)数组.sort(排序方式) //使用“排序方式”参数来排序,排序方式是一些定义好的整数常量
(3)数组.sort(比较函数) //使用自定义的比较函数,注意此处只可写函数排序
sortOn 当数组元素是复杂数据类型,且需要根据这种对象的某个属性值来排序时使用。比如说某俎元素都有一个属性值name,希望根据name来排序,那么使用的方法如下
用法:
(1)数组.sortOn(”name”) //根据指定属性,默认排序
(2)数组.sortOn(”name”,排序方式) //根据指定属性,使用指定的“排序方式”来排序
(3)数组.sortOn(”name”,比较函数) //根据指定属性,使用自定义的函数排序
排序方式,是指一些再Array类中定义好的整形常量,代表几种不同的排序方式
(1)Array.CASEINSENSITIVE 值为1,表示大小写不敏感按字母顺序排序,如果是数字则从小到大。
(2)Array.DESCENDING 值为2,表示按字母到序排序
(3)Array.UNIQUESORT 值为4,表示必须是唯一性排序,如果比较值结果相同,则放弃排序 返回值为 0
(4)Array.RETURNINDEXEDARRAY 值为8,让sort()和sortOn()函数返回值返回排序后的索引列表,同时保持原数组不变
(5)Array.NUMERIC or 16 值为16,强制sort()和sortOn()中对数值采用从小到大排序。
比较函数的要求是,有两个参数,返回值是1,0,-1中的一个。
function 函数名(参数A,参数B):int{}
比较函数的作用是将数组里的元素一对对的取出来分别作为这个比较函数的两个参数,如果返回为1,那么作为A参数的元素就应该排在B的后面;如果返回为-1,那么A参数的元素就应该排在B前面,如果为0,表示结果一样。
forEach用法:数组.forEach(callFunction:Function,thisObject:*=null):viod //遍历操作:操作数组中的每一项元素。回调函数不需要返回任何值。
filter用法:数组.every(callFunction:Function,thisObject:*=null):Array //过滤器:将符合回调函数条件的元素提出来,构成一个新的数组并返回。
every用法:数组.filter(callFunction:Function,thisObject:*=null):Boolean //全员满足才为真:必须所有元素都让回调函数返回为true,every()才返回true,否则为false。回调函数返回单个元素比较结果,布尔值。
map用法:数组.filter(callFunction:Function,thisObject:*=null):Array //映射器:根据回调函数操作原数组每个元素,并利用回调函数返回的结果生成新的数组。回调函数返回的是单个新数组元素。
some用法:数组.filter(callFunction:Function,thisObject:*=null):Boolean //有一个满足为真:只要有一个元素能让回调函数返回true,则some()返回true,否则为false。回调函数返回的是单个元素比较结果,布尔值。

二、调试打印输出:
trance(“print out sth.”);

三、As3.0基本数据类型:

数据类型 默认值
布尔型(Boolean) False
整数(int) 0
数字(Number) NaN(Not a Number)
对象(object) Null
字符串(String) Null
自然数(uint) 0

说明:
1. As3.0数据基本数据类型包括:Boolean, int, Uint,, Number, String , void, Null.
2.除基本数据类型以外的数据类型都是复杂数据类型,由于存储方式不同,使用原始数据类型要比使用复杂数据类型更加高效.

四、String字符串

[AS3]as3.0截取字符indexOf,lastIndexOf,substring用法实例

[AS3]as3.0截取字符indexOf,lastIndexOf,substring用法实例,处理字符串,主要针对字符串的应用进行相关的处理。本节主要涉及的处理包括字符串的连接、在字符串中搜索、截取字符串、字符串的大小写转换等

处理字符串,主要针对字符串的应用进行相关的处理。本节主要涉及的处理包括字符串的连接、在字符串中搜索、截取字符串、字符串的大小写转换等。

字符串连接

在ActionScript 3.0中,有三种方式可以实现字符串的连接:使用+连接操作符、使用+=自赋值连接操作符和String.concat()方法。
1.+连接符连接字符串
使用+连接符可以连接字符串
2.+=自赋值连接符追加字符串
使用+=自赋值连接符可以实现在字符串的尾部追加字符串。
3.String.concat()方法
使用String.concat()方法也可以把指定的字符串追加到原字符串的后面,并返回一个新的字符串,原字符串的值并不发生改变

搜索字符串

在ActionScript 3.0中,实现字符串搜索的方法有两种,分别为:String.indexOf()方法和String.lastIndexOf()方法。
1.indexOf()方法
indexOf()方法实现从字符串的起始位置开始,正向搜索字符串,返回搜索到字符串的位置索引。其用法格式如下所示。
indexOf(str,startIndex)
2.lastIndexOf()方法
lastIndexOf()方法实现从字符串的尾部位置开始,逆向搜索字符串,返回搜索到字符串的位置索引。其用法格式如下所示。
lastIndexOf(str,startIndex)

删除或者替换字符串

在ActionScript 3.0中提供了对字符串进行查找并替换的方法replace()。replace()方法能够实现用一个新的字符串替换原有字符串中指定的字符串,若查找的字符串不存在,则不替换。其用法格式如下所示。
replace(str1,str2)
说明:此方法将返回一个新的字符串,原始字符串仍保持不变,没有修改。
参数说明如下:
str1:要查找的字符串。
str2:用于替换的字符串。

截取字符串

在ActionScript 3.0中,提供了三种方法实现在字符串中截取出一部分作为子字符串,分别为:substring()方法、substr()方法和slice()方法。
这三种方法都能实现从原始字符串中截取一部分字符串而不影响原字符串的值,区别在于截取的方法不同,方法的参数不同。
1.substring()方法:substring()方法根据指定的起始位置和结束位置,截取两个位置索引中间的一部分字符串作为子字符串。其用法格式如下所示。
substring(startIndex,endIndex)
2.substr()方法:substr()方法根据指定的位置和截取的长度值来截取字符串。其用法格式如下所示。
substr(startIndex,len)
3.slice()方法:此方法与substring()方法类似,也是根据指定的起始位置和结束位置,截取两个位置索引中间的一部分字符串作为子字符串。其用法格式如下所示。
slice(startIndex,endIndex)

字符串转数组

使用split()方法实现将字符串分隔成为数组,但要求字符串中必须有统一的分隔符。比如:逗号,~号,§号等等。
其用法格式如下所示。
split(str,limit)
此方法将返回一个新的数组。
参数说明如下:
str:用来作为分隔符的字符串,可以是标点符号,也可以是空格,也可以是其它的字符。如果没有设置分隔符,则把整个字符串作为数组的一个元素。
limit:要放入数组中的最大项数。默认为允许的最大值。

大小写转换

在ActionScript 3.0中,提供了字母大小写转换的方法,分别为:toUpperCase()方法和toLowerCase()方法。
toUpperCase()方法实现将字符串中的小写字母转换为大写字母,并返回一个新的字符串。
toLowerCase()方法实现将字符串中的大写字母转换为小写字母,并返回一个新的字符串。
下面的示例使用这两种方法实现字母的大小写转换,代码如下所示。
//创建一个字符串
var str:String=”This is my Book”
trace(str)//输出:This is my Book
//字符串转大写
var str1:String=str.toUpperCase()
trace(str1)//输出:THIS IS MY BOOK
trace(str)//输出:This is my Book
//字符串转小写
var str2:String=str.toLowerCase()
trace(str2)//输出:this is my book
trace(str)//输出:This is my Book

五、Tween类

AS3.0中Tween类的基础

写个关于ActionScript3.0 中的Tween类的小教程吧,还是抛砖引玉,偷摸追赶一下潮流。(个人认为AS3.0是以后支持互动设计的主流技术)

说道Tween类,看字面的意思就是实现补间动画的。在Flash CS3中,Adobe已经为大家开发好了一套可以轻松实现运动效果的类。这套类包位于fl.transition.*中。其实,这些包

中的类效果的原理都是监听ENTER_FRAME事件的。在动画播放时,按帧频改变目标的属性,从而产生动画的效果。

负责动画的核心类是Tween类。

我们看一些Tween类的构造函数:

Tween(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean = false)

这些参数依次代表着:

1.要制作动画的对象

2.要改变对象的属性,注意这个值为字符串

3.要用何种方式去用程序补间上诉属性的动画

4.对象属性的初始值(程序开始补间的初始值)

5.对象属性的终端值(程序要补间到的最终值)

6.这段补间动画持续的时间

7.设定动画持续的时间是按帧计算(useSeconds = false),还是按秒计算(useSeconds = true),默认值是使用帧数计算

Tween对象一旦初始化,动画就开始了。Tween类补间的动画可以触发6种事件。最常用的因该是TweenEvent.MOTION_FINISH。动画已结束,就会触发这个事件。

下面是AS3.0的源代码:

import flash.display.Sprite;

import fl.transitions.Tween;

import fl.transitions.easing.Elastic;

import fl.transitions.TweenEvent;

var mySprite:MovieClip = new Symbol();

this.addChild(mySprite);

var xTween:Tween = new Tween(mySprite, “x”, Elastic.easeOut, 100, 200, 2 , true);

xTween.addEventListener(TweenEvent.MOTION_FINISH, continueMove);

function continueMove(evt:TweenEvent):void {

var tmpTween:Tween = evt.target as Tween;

if (mySprite.x > 300) {

tmpTween.yoyo();

} else {

tmpTween.continueTo(mySprite.x + 50, 1);

}

}

上诉代码没有说道的地方,请新手们都查帮助文档,问题尽量自己解决。本人愚钝,这教程其实只是引导刚开始学AS3.0的新人们多看帮助文档而已~

六、MouseCursor

flash as3 MouseCursor让鼠标变手型

在flash as3制作中的时候,我们常常遇到这样的需求,就是让鼠标变成手形.
比如,你希望用户把鼠标移到影片按钮上的时候,鼠标变手形;你希望鼠标一直是一个手形,而不是箭头.
下面我们就来研究一下:

1.首先要了解了一上flash.ui.Mouse,在as3帮助手册里看一下,这个类都有什么方法和属性.
我们发现有Mouse.cursor这个属性和Mouse.show() Mouse.hide()两个方法
于是找到了答案,让用户的鼠标一直是手型的代码:
Mouse.cursor=MouseCursor.HAND
另外,我继续深入,还发现可以把鼠标变成各种各样的形状:
Mouse.cursor=MouseCursor.ARROW//用于指定应使用箭头光标。
Mouse.cursor=MouseCursor.AUTO//用于指定应根据鼠标下的对象自动选择光标。
Mouse.cursor=MouseCursor.BUTTON//用于指定应使用按压按钮的手形光标。
Mouse.cursor=MouseCursor.HAND//用于指定应使用拖动手形光标。
Mouse.cursor=MouseCursor.IBEAM//用于指定应使用工字形光标

2.希望影片剪辑在鼠标上移的时候,鼠标变手型怎么办?
我们再查下一flash.display.Sprite这个帮助说明,发现它有个属性是:buttonMode -指定此 sprite 的按钮模式。
因此,如果你想让一个影片或sprite当成按钮,你可能要设置一下.

看起来虽然有点乱,就当词典撮合用吧,用到的时候查查~

你可能感兴趣的:(Flash,AS3.0)