flash进一步学习篇。。。 [转](flashempire 边城浪子)

来源:互联网 发布:信诺数据技术有限公司 编辑:程序博客网 时间:2024/03/29 20:26

前两天休息,没空上来转转,今天抽空去flashempire转转,又抠出两个概念不是很清晰的实例,先记下来,待会再消化。
对象数组:
var a:Array = new Array();
for (var i = 0; i<10; i++) {
    a[i] = new Object();
    a[i].x = 10;
    a[i].y = 10*i;
    a[i].name = "---";
    a[i].id = i;
    // 随便你给什么属性啊。
}

(darkvn的改进)先用局部变量存储对象会更好一点。

var a=new Array()
for(var i=0;i<10;i++){
var ta=new Object();
ta.x=10;
ta.y=10;
ta.name="n"+i;
a.push(ta);
}
或者更简便一点的方法:
var a=new Array()
for(var i=0;i<10;i++){
a[i]={x:10,y:10,name:"n"+i}
}


找到目前最小的一个可用的深度 Depth(来自国外)《flash mx》 (从中发现,与我前面第二篇在代码上,有部分相同)
availTopDepth = function () {
    var allDepths = [];
    for (var z in _root) {
        if (_root[z] instanceof Button || _root[z] instanceof MovieClip || _root[z] instanceof TextField) {
            allDepths.push(_root[z].getDepth());
        }
    }
    if (allDepths.length != 0) {
        sortAll = function (a, b) { if (a<b) {return -1;} else if (a>b) {return 1;} else {return 0;}};
        allDepths.sort(sortAll);
        return (parseInt(allDepths[allDepths.length-1])+1);
    }
};
trace(_root.availTopDepth());

2004中有getNextHighestDepth();虽然比上面方便,但主要还是学习技术。