6.3.向前或向后移动对象

评论(0)浏览(109)分类:flash/flex/fcs/AIR
6.3.向前或向后移动对象问题我要改变对象在屏幕上的显示顺序解决办法使用DisplayObectContainer 类的setChildIndex( ) 方法改变项目的位置,getChildIndex( ) 和getChildAt( ) 方法得到项目在显示列表中的位置讨论6.1 节和6.2 节介绍了可视化对象列表如何处理堆栈顺序( 深度), 基本上每个DisplayObjectContainer 实例都有一个子对象列表,列表中子对象的顺序代表在屏..

6.2.从显示列表中删除项目

评论(0)浏览(109)分类:flash/flex/fcs/AIR
6.2.从显示列表中删除项目问题我要从可视化对象列表删除可视化对象,从屏幕上消失。解决办法使用DisplayObectContainer类的removeChild( )和removeChildAt( )方法讨论6.1节讨论了如何使用addChild( )和addChildAt( ) 方法添加可视化对象到可视化对象列表中。与此相反removeChild( )和removeChildAt( ) 方法删除对象。removeChild( ) 方法需要一个参数,那就是将要删除的对..

6.1.在可视化对象列表中添加项目

评论(0)浏览(74)分类:flash/flex/fcs/AIR
6.1.在可视化对象列表中添加项目问题我要添加新的可视化对象在屏幕上显示解决办法使用DisplayObectContainer类的addChild( ) 和addChildAt( ) 方法讨论Flash Player 现在把ActionScript 虚拟机(AVM)和渲染引擎两块功能集成在一起了。AVM 完成执行ActionScript 代码,而渲染引擎负责在屏幕上绘制对象,绘制对象需要两步骤:通过ActionScript引擎创建可视化对象。渲染引擎把可视化..

6.0.简介

评论(0)浏览(61)分类:flash/flex/fcs/AIR
6.0.简介ActionScript 3.0 和Flash Player 9 的渲染模型已经和以前的版本有很大不同。以前MovieClip是渲染的焦点。swf 电影的根节点就是MovieClip (现在用Stage). 根节点MovieClip 可以包含子节点MovieClips, 子节点还可包含更多的子节点MovieClips。这样的层次结构用来控制MovieClips 的绘制(深度越深表示显示在最顶层)。createEmptyMovieClip( ), a..

第六章.可视化对象列表

评论(0)浏览(72)分类:flash/flex/fcs/AIR
第六章.可视化对象列表6.0.简介6.1.在可视化对象列表中添加项目6.2.从显示列表中删除项目6.3.向前或向后移动对象6.4.创建自定义可视化类6.5.创建简单的按钮6.6.动态载入外部图片6.7.载入外部swf文件并与之交互6.8.接收鼠标事件6.9.用鼠标拖拽对象

5.16.读取关联数组

评论(0)浏览(97)分类:flash/flex/fcs/AIR
5.16.读取关联数组问题我要怎样遍历关联数组解决办法使用for . . . in 语句讨论基于整形下标的数组可以通过for 语句进行循环遍历,但是,用关键字作索引的关联数组就不能这样遍历了,还好,关联数组可以通过for . . . in 语句进行遍历访问。该语句会访问指定对象所有可用的属性,语法如下:+展开-ActionScriptfor(keyinobject){//Actions}for . . . in 语句不需要..

5.15.创建关联数组

评论(0)浏览(101)分类:flash/flex/fcs/AIR
5.15.创建关联数组问题我要创建用名称元素作为索引的数组解决办法创建关联数组讨论用关联数组其每个元素都有特定的含义,这一点原来的数组类型是做不到的。+展开-ActionScriptvaraMembers:Array=newArray("Franklin","Gina","Sindhu");关联数组在其他的语言叫做哈希表,在ActionScript 里它就是Object 类的一个实例,关联数组使用名称元素来代替数字下标,该名称也..

5.14.比较数组

评论(0)浏览(62)分类:flash/flex/fcs/AIR
5.14.比较数组问题我该怎么知道两个数组是否相等呢解决办法循环数组,一一比较对应位置的每个元素讨论因为数组是引用类型,使用=操作符只能对比引用是否指向同一内存空间,如:+展开-ActionScriptvarletters:Array=["a","b","c","d"];varlettersPointer:Array=letters;trace(letters==lettersPointer);//显示:true但是如果数组内容相同,但是在不同的内存空间..

5.13.取得数组元素的最大值和最小值

评论(0)浏览(84)分类:flash/flex/fcs/AIR
5.13.取得数组元素的最大值和最小值问题我要获取数字数组的最大和最小元素解决办法经过数字排序,然后读取数组的第一个和最后一个元素讨论要想快速的取得最大值和最小值,先进行排序,看下面:+展开-ActionScriptvarscores:Array=[10,4,15,8];scores.sort(Array.NUMERIC);trace("Minimum:"+scores[0]);trace("Maximum:"+scores[scores.length-1]);如果不破坏原有数组顺序,可先复制..

5.12.数组元素的随机排序

评论(0)浏览(115)分类:flash/flex/fcs/AIR
5.12.数组元素的随机排序问题我要打乱数组元素的顺序解决办法使用sort( ) 方法和自定义比较函数返回随机的正数或负数讨论很多情况我们需要得到一个随机排列的数组,比如有个游戏需要产生随机的字母。有很多种方法达到这个目的,但是最简单的办法就是创建自定义比较函数,返回随机的正数或负数,把该函数引用传递给sort( ) 方法:下面的比较函数就能达到目的:+展开-Acti..

5.11.实现自定义排序

评论(0)浏览(79)分类:flash/flex/fcs/AIR
5.11.实现自定义排序问题我要自定义数组排序解决办法把自定义比较的函数引用传递给sort( ) 方法讨论如果要自定义排序,可用sort( ) 方法和自定义比较函数。sort( ) 方法重复调用比较函数对两个数组元素进行比较,比较函数接受两个参数即数组元素(我们称为a和b),根据具体的排序方式返回正数,负数或0。如果返回负数,a排在b前,如果返回0,位置不变,如果返回正数..

5.10.数组排序

评论(1)浏览(105)分类:flash/flex/fcs/AIR
5.10.数组排序问题我要进行数组排序解决办法使用sort( ) 方法,对于对象数组可以用sortOn( ) 方法讨论使用sort( ) 方法就可以对数组进行排序,没有参数是进行升序排序,对于字符内容采用Unicode 编码排序+展开-ActionScriptvarwords:Array=["tricycle","relative","aardvark","jargon"];words.sort();trace(words);//显示:aardvark,jargon,relative,tricycle如..

5.9.存储多维数据

评论(0)浏览(58)分类:flash/flex/fcs/AIR
5.9.存储多维数据问题我要怎样存储多组相关的数据解决办法使用多维数组存储讨论除了一维数组,还可以创建多维数组,比如beginGradientFill() 方法(在第7章讨论)使用三个平行数组表示colors, alphas, 和ratios ,每个数组都有相同的下标。创建平行数组,然后操作同一下标的元素,使用平行数组,很容易访问同一下标的相关元素,比如:+展开-ActionScriptvarcolor..

5.8.创建数组的拷贝

评论(0)浏览(90)分类:flash/flex/fcs/AIR
5.8.创建数组的拷贝问题我要复制一份数组,内容完全一样,只是不同的引用解决办法使用concat( ) 方法或slice( ) 方法,另外还可以使用ArrayUtilities.duplicate( ) 方法,duplicate( )方法可以创建递归复制讨论因为数组是复合类型,因此它的比较和复制都和基本类型不同。一个变量指向数组但是实际上它并不包含数组数据,它只是指向内存中存放数组数据的位置。从优化..

5.7.转换数组为字符串

评论(0)浏览(71)分类:flash/flex/fcs/AIR
5.7.转换数组为字符串问题我要把数组转换为字符串解决办法使用join( ) 方法讨论ActionScript 提供内建的方法join( ) 可以快速把数组转换为字符串(数组中的元素不管什么类型都将转换为字符串),该方法接受个参数作为分隔符:+展开-ActionScriptvarletters:Array=["a","b","c"];trace(letters.join("|"));//显示:a|b|c如果不指定分隔符,默认为逗号:+展开-ActionScr..

5.6.转换字符串为数组

评论(0)浏览(76)分类:flash/flex/fcs/AIR
5.6.转换字符串为数组问题我有一堆字符串,想把它转换为数组。解决办法使用String.split( ) 方法讨论String 类的split( ) 方法把字符串转换为数组,但前提是字符串中含有统一的分割符,比如Susan,Robert,Paula 字符串分割符为逗号split( ) 方法接受两个参数:分割符用分割符来分割字符串,如果没定义,则把整个字符串作为数组的第一个元素数量分割出的最大元素个数,..

5.5.在数组中间插入元素

评论(0)浏览(79)分类:flash/flex/fcs/AIR
5.5.在数组中间插入元素问题我要在数组中间插入元素u解决办法使用splice( ) 方法讨论splice( ) 方法不仅可以删除元素,也可以插入元素,插入的元素放到第2个参数之后,当第2个参数为0代表插入元素:+展开-ActionScriptvarletters:Array=["a","b","c","d"];//插入三个元素,起始位置为1letters.splice(1,0,"r","s","t");//letters现在包含的元素有://"a","r","s","t","..

5.4.删除数组元素

评论(0)浏览(187)分类:flash/flex/fcs/AIR
5.4.删除数组元素问题我要删除一个或多个数组元素,或移动数组元素解决办法splice( ) 方法删除指定位置的元素,pop( ) 删除尾部元素,shift( ) 删除首部元素讨论删除指定位置的元素使用splice( ) 方法,它需要两个参数:start开始下标deleteCount删除的元素个数,如果没有定义,则从起始位置到末尾全部删除:+展开-ActionScriptvarletters:Array=["a","b","c","d..

5.3.搜索匹配的数组元素

评论(0)浏览(111)分类:flash/flex/fcs/AIR
5.3.搜索匹配的数组元素问题我要找出指定值得数组元素解决办法用for 语句和break 语句就能找到匹配的元素。另外用ArrayUtilities.findMatchIndex( ),ArrayUtilities.findLastMatchIndex( ), 和ArrayUtilities.findMatchIndices( ) 方法讨论用for循环查找第一个匹配的元素后,用break立即返回,这样就实现功能了。break应该在if语句里进行判断,是否找到匹配元素,找到则..

5.2.遍历数组成员

评论(0)浏览(111)分类:flash/flex/fcs/AIR
5.2.遍历数组成员问题我要访问数组的每个元素解决办法利用for 循环来遍历数组,使用下标返回元素。讨论for循环的初始变量从0开始,结束为array.length-1,因为是从下标0开始的:+展开-ActionScriptvarletters:Array=["a","b","c"];for(vari:int=0;iletters.length;i++){trace("Element"+i+":"+letters[i]);}也可以降序遍历数组,循环变量从array.length-1开始到0..

5.1.在数组首部和尾部添加元素

评论(0)浏览(68)分类:flash/flex/fcs/AIR
5.1.在数组首部和尾部添加元素问题我要再添加新元素到数组解决办法push( ) 方法在数组尾部添加元素,unshift( ) 方法在数组首部插入元素讨论Array.push( ) 方法把元素加在数组的尾部,也可以一次添加多个值:+展开-ActionScriptvararray:Array=newArray();array.push("val1","val2");也可以在数组指定的下标位置设置值,下标位置在0到Array .length - 1之间:+展开-ActionScr..

5.0.简介

评论(0)浏览(66)分类:flash/flex/fcs/AIR
5.0.简介数组保存一组相关联的数据,组织和处理这些数据。数组概念在生活中是很常见的,比如菜谱,包含姓名,地址,生日等地址本都是数组原理。在ActionScript中,有两种数组:整型下标和联合数组,都是组织相关数据,只是访问数据的方法不同而已。整型下标数组:数组的每个元素都用唯一的整数下标来索引。通过下标排序,起始值为0,每个元素保存在索引指..

第五章.数组

评论(0)浏览(72)分类:flash/flex/fcs/AIR
第五章.数组5.0.简介5.1.在数组首部和尾部添加元素5.2.遍历数组成员5.3.搜索匹配的数组元素5.4.删除数组元素5.5.在数组中间插入元素5.6.转换字符串为数组5.7.转换数组为字符串5.8.创建数组的拷贝5.9.存储多维数据5.10.数组排序5.11.实现自定义排序5.12.数组元素的随机排序5.13.取得数组元素的最大值和最小值5.14.比较数组5.15.创建关联数组5.16.读取关联数组

4.12.计算两点之间的距离

评论(1)浏览(165)分类:flash/flex/fcs/AIR
4.12.计算两点之间的距离问题我要计算两点之间的距离解决办法根据勾股定理,使用Math.pow( ) 和Math.sqrt( ) 联合计算讨论通过勾股定理可以计算出两点之间的距离(直线)。一个三角形,最长边的平方等于其他两边的平方和:a2 + b2 = c2根据这个公式可以计算出两点之间的距离,a 是两点X坐标的差值,b 是两点Y坐标的差值:+展开-ActionScriptvarc:Number=Math.sqrt(Math...

4.11.转换角度计算

评论(0)浏览(94)分类:flash/flex/fcs/AIR
4.11.转换角度计算问题我要计算角度及转换为合适的单位解决办法使用Unit 和Converter 类讨论影片剪辑的_rotation 属性使用角度计算的。如果用弧度而不是角度就有些麻烦了。首先要把弧度值转换为角度值,再赋值给_rotation 属性,而且,大多数人喜欢用角度计算。还好,把弧度转换为角度挺容易,只要180/Math.PI.,角度转换为弧度就反一下,Math.PI/180. ,而且使用..

4.10.产生唯一的随机数

评论(0)浏览(162)分类:flash/flex/fcs/AIR
4.10.产生唯一的随机数问题我要产生唯一数解决办法使用NumberUtilities.getUnique( ) 方法讨论唯一随机数经常在产生唯一的URL 时用到。就是在URL后加上个唯一的数字,以区别于使用过的URL,因此浏览器总是会去调用远程服务器而不是访问缓存NumberUtilities.getUnique( ) 返回基于毫秒的数字+展开-ActionScripttrace(NumberUtilities.getUnique());下面的代码产生一组唯..

4.9.模拟骰子

评论(0)浏览(152)分类:flash/flex/fcs/AIR
4.9.模拟骰子问题我要模仿掷骰子解决办法用NumberUtilities.random( ) 方法产生指定范围的随机数讨论用random( ) 方法产生整数来模拟掷骰子,这在很多游戏中经常用到,这次我们在ActionScript中实现一般我们产生随机数然后保存它在使用,如果要重新使用存在的随机数,应保存它而不是再产生新的随机数。注意下面两种情况,第一种,dice总是die1和die2的之和:..

4.8.模拟硬币投掷

评论(0)浏览(94)分类:flash/flex/fcs/AIR
4.8.模拟硬币投掷问题我要模拟硬币投掷或布尔事件来达到50%几率成功。解决办法用NumberUtilities.random( ) 方法产生0 到1的整数,根据每种可能得出结果。讨论用random( ) 方法产生指定范围的随机整数,能够产生两个结果对应硬币的正面和反面状态,在程序里我们用0代表一个状态,1代表另一状态,当然你用1和2也是可以的,总之是2个状态,这样就能模拟硬币投掷了:..

4.7.生成随机数

评论(0)浏览(108)分类:flash/flex/fcs/AIR
4.7.生成随机数问题我要生成随机数解决办法使用Math.random( ) 方法生成0 到.999999的随机数。还有,是用NumberUtilities.random( ) 方法可以生成指定范围的随机数讨论Math.random( ) 方法产生0 到0.999999999的浮点随机数。大多数情况我们希望产生整数而不是浮点数,还好随机值可以指定精度。NumberUtilities.random( ) 方法产生指定的范围和精度,它接受三个..

4.6.格式化货币数字

评论(0)浏览(104)分类:flash/flex/fcs/AIR
4.6.格式化货币数字问题我要格式化货币,比如美元解决办法使用NumberFormat.currencyFormat( ) 方法讨论不像其他语言,比如ColdFusion,ActionScript 没有提供内建的函数格式化货币数字。自定义类NumberFormat 包括一个currencyFormat( )方法。currencyFormat( ) 至少需要一个参数,看下面的简单代码:+展开-ActionScriptvarstyler:NumberFormat=newNumberFormat()..