Flash as3.0 movieClip层级问题 怎么按影片剪辑Y轴坐标设置层级?
如:我想制作基于2.5D的闯关格斗游戏.游戏中敌人的层级怎么设置呢.敌人可是随机移动的.该如何设置数组排序??setChildIndex(MC,MC.y);行不通啊!!...
如:我想制作基于2.5D的闯关格斗游戏.游戏中敌人的层级怎么设置呢.敌人可是随机移动的.该如何设置数组排序?? setChildIndex(MC,MC.y);行不通啊!!
展开
2个回答
展开全部
可以用数组排序的方法。数组有个sortOn () 方法,以下是它的详细使用方法:
根据数组中的一个或多个字段对数组中的元素进行排序。 数组应具有下列特性: 该数组是索引数组,不是关联数组。
该数组的每个元素都包含一个具有一个或多个属性的对象。
所有这些对象都至少有一个公用属性,该属性的值可用于对该数组进行排序。 这样的属性称为 field。如果您传递多个 fieldName 参数,则第一个字段表示主排序字段,第二个字段表示下一个排序字段,依此类推。 Flash 根据
Unicode 值排序。 (ASCII 是 Unicode 的一个子集。) 如果所比较的两个元素中均不包含 fieldName
参数中指定的字段,则认为将该字段设置为 undefined,在排序后的数组中将连续放置这些元素,不必遵循任何特定顺序。默认情况下,Array。sortOn() 按以下方式进行排序:排序区分大小写(Z 优先于 a)。
按升序排序(a 优先于 b)。
修改该数组以反映排序顺序;在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
数值字段按字符串方式进行排序,因此 100 优先于 99,因为 "1" 的字符串值比 "9" 的低。Flash Player 7 添加了 options 参数,您可以使用该参数覆盖默认排序行为。
若要对简单数组(例如,仅具有一个字段的数组)进行排序,或要指定一种 options 参数不支持的排序顺序,请使用
Array.sort()。若要传递多个标志,请使用按位“或”(|) 运算符分隔它们: my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
Flash Player 8 添加了按多个字段进行排序时为每个字段指定不同的排序选项的功能。 在 Flash Player 8
和更高版本中,options 参数接受排序选项的数组,以便每个排序选项对应于 fieldName
参数中的一个排序字段。 下例使用降序排序对主排序字段 a 排序,使用数字排序对第二个排序字段 b
排序,使用不区分大小写的排序对第三个排序字段 c 排序: Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
注意:fieldName 和 options 数组必须具有相同数量的元素;否则,将忽略
options 数组。 此外,Array.UNIQUESORT 和
Array.RETURNINDEXEDARRAY 选项只能用作数组中的第一个元素;否则,将忽略它们。
使用这个方法,你就可以利用对象的y坐标属性值对对象进行排序,可以是升序也可以是降序,这就根据你的具体需要去写脚本了。
最后祝你成功。
根据数组中的一个或多个字段对数组中的元素进行排序。 数组应具有下列特性: 该数组是索引数组,不是关联数组。
该数组的每个元素都包含一个具有一个或多个属性的对象。
所有这些对象都至少有一个公用属性,该属性的值可用于对该数组进行排序。 这样的属性称为 field。如果您传递多个 fieldName 参数,则第一个字段表示主排序字段,第二个字段表示下一个排序字段,依此类推。 Flash 根据
Unicode 值排序。 (ASCII 是 Unicode 的一个子集。) 如果所比较的两个元素中均不包含 fieldName
参数中指定的字段,则认为将该字段设置为 undefined,在排序后的数组中将连续放置这些元素,不必遵循任何特定顺序。默认情况下,Array。sortOn() 按以下方式进行排序:排序区分大小写(Z 优先于 a)。
按升序排序(a 优先于 b)。
修改该数组以反映排序顺序;在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
数值字段按字符串方式进行排序,因此 100 优先于 99,因为 "1" 的字符串值比 "9" 的低。Flash Player 7 添加了 options 参数,您可以使用该参数覆盖默认排序行为。
若要对简单数组(例如,仅具有一个字段的数组)进行排序,或要指定一种 options 参数不支持的排序顺序,请使用
Array.sort()。若要传递多个标志,请使用按位“或”(|) 运算符分隔它们: my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
Flash Player 8 添加了按多个字段进行排序时为每个字段指定不同的排序选项的功能。 在 Flash Player 8
和更高版本中,options 参数接受排序选项的数组,以便每个排序选项对应于 fieldName
参数中的一个排序字段。 下例使用降序排序对主排序字段 a 排序,使用数字排序对第二个排序字段 b
排序,使用不区分大小写的排序对第三个排序字段 c 排序: Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
注意:fieldName 和 options 数组必须具有相同数量的元素;否则,将忽略
options 数组。 此外,Array.UNIQUESORT 和
Array.RETURNINDEXEDARRAY 选项只能用作数组中的第一个元素;否则,将忽略它们。
使用这个方法,你就可以利用对象的y坐标属性值对对象进行排序,可以是升序也可以是降序,这就根据你的具体需要去写脚本了。
最后祝你成功。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询