AS3阵列sorton()问题

时间:2011-12-29 01:02:02

标签: actionscript-3

我正在尝试通过其“realY”属性的值对as3中的“tile”对象数组进行排序。 这是我的代码:

    tiles.sortOn("realY", Array.DESCENDING);
    tiles.reverse();

    for each(var t:Tile in tiles)
    {
            trace(t.nearness);
    }

这是输出:

    6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
2
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
35
35
35
35
35
35
36
36
36
36
36
37
37
37
37
38
38
38
39
39
40
3
3
4
4
4
5
5
5
5

正如你所看到的,最后有一些随机的小数字。为什么会这样? 感谢

1 个答案:

答案 0 :(得分:6)

尝试使用您的sortOn

tiles.sortOn("realY", Array.NUMERIC | Array.DESCENDING);

默认情况下,Flash按字母顺序排序。查看documentation了解详情。

除此之外,您将跟踪nearness属性,而不是您排序的realY属性。所以也许这也是一个问题。