我在Flash CS4中遇到了一个非常奇怪的ActionScript 3错误。我将影片剪辑添加到for循环中的舞台,然后将它们移出视图,以便我可以将它们拉入并在需要时将其删除。
我已经将问题缩小到了一个程度,我知道每次使用addChild()将一个影片剪辑添加到舞台时,舞台会向右移动一个像素。我知道这听起来很奇怪,但它确实是真的......每次添加影片剪辑时,y轴上的0行都会移动到右边的一个像素。我不知道这是怎么回事。
以下是正在开展工作的代码:
private function setupSlides():void
{
for(x = 0; x < TOTAL_SLIDES; x++)
{
var ClassReference:Class = getDefinitionByName("Slide" + (x+1)) as Class;
var s:MovieClip = new ClassReference() as MovieClip;
s.x = 9999;
s.y = 9999;
addChild(s);
slides[x] = s;
}
}
有什么想法吗?
答案 0 :(得分:0)
发帖后,我注意到我没有声明循环计数器变量(x)。我声明了,奇怪的渲染消失了。我想知道为什么它只是没有给我一个未声明的变量错误?
这是固定代码:
private function setupSlides():void
{
for(var x:int = 0; x < TOTAL_SLIDES; x++)
{
var ClassReference:Class = getDefinitionByName("Slide" + (x+1)) as Class;
var s:MovieClip = new ClassReference() as MovieClip;
s.x = 9999;
s.y = 9999;
addChild(s);
slides[x] = s;
}
}