傻小仔在上个帖子中说
引用:
自定义变量的作用!
不过几呼都不懂!
if (treeRoot == null) {
treeRoot = this;//自定义对象treeRoot为本mc
branchCount = 0;//定义变量branchCount的值是0
}
this.levelCount += 1;//变量levelCount加1,因原来为null,所有加1后为1,为防止产生多个mc时深度重合
treeRoot.BranchCount += 1;//变量branchCount值加1,为防止产生多个mc时重名
var newBranchName = treeRoot._name+"Branch"+treeRoot.BranchCount;//定义产生的下一个mc的名称
this.attachMovie("mcBranchClass", newBranchName, this.levelCount);//在本mc里复制自身
var newBranch = eval(newBranchName);//同第一句,自定义对象newBranch为刚复制的mc
newBranch._y -= 144;//设定newBranch的位置
newBranch._rotation += (5*random(19))-45;//随机变化一个角度
newBranch.levelCount = 0;//
newBranch.treeRoot = this.treeRoot;//作用同第一句,而且执行了这句就不再执行第一句
//由此可见,最后两句可以省略,而且判断语句里的第二句定义变量也可以省略
//this.levelCount += 1;
//treeRoot.BranchCount += 1
这两句应改为:
//levelCount ++;
//BranchCount ++;
//其实程序可以简化成这样:
levelCount ++;
BranchCount ++;
newBranchName = "Branch"+BranchCount;
attachMovie("mcBranchClass", newBranchName,levelCount);
newBranch = eval(newBranchName);
newBranch._y -= 144;
newBranch._rotation += (5*random(19))-45;