这将是一个简单的时钟。自从我在21世纪初学习Flash以来,我一直在使用AS2。是时候继续前进了。
for (a=1; a<60; a++) {
duplicateMovieClip("dot0", "dot"+a, 10+a);
_root["dot"+a]._rotation = a*6;
_root["dot"+a].gotoAndStop(1);
}
答案 0 :(得分:2)
Adobe发布的ActionScript 2.0 Migration在当天帮助了我。
与您的代码相关的一些细节:
_rotation
现在为rotation
,_root
现为root
。root
不是全局的,它是显示对象的属性,如果显示对象不在显示列表中,则为null
。 duplicateMovieClip
不再存在。您应该将符号导出到类中,然后使用new
operator和addChild()
创建实例并将其添加到显示中,例如:
var dot:Dot = new Dot();
addChild(dot);
在代码中创建的显示对象不会自动赋予name
,并在添加到显示时分配给其父级的属性。您可以在其父级上设置name
并使用getChildByName
。例如:
var dot:Dot = new Dot();
dot.name = "dot" + i;
addChild(dot);
var n:int = 10;
var dot10:Dot = getChildByName("dot" + n) as Dot;
但这有点麻烦,所以在大多数情况下,将显示对象存储在自己的数组中并通过索引引用它们更有意义:
var dots:Array = [];
var dot:Dot = new Dot();
addChild(dot);
dots.push(dot);
var firstDot:Dot = dots[0];
这应该让你开始。
答案 1 :(得分:0)
感谢此处和其他地方的帮助,这对我有用:
var i:Number = 1;
var dots:Array = [];
for (i=0; i<60; i++) {
var dot:Dot = new Dot;
addChild(dot);
dots.push(dot);
dot.x=683;
dot.y=436;
dot.rotation = i*6;
dot.gotoAndStop(1);
}
时钟让我没有动手但是小点会在几分钟和几秒钟内改变颜色。谢谢所有帮助过的人