-1

当我尝试使用addChild()我的摇滚之一 1-5加上widerock时,我遇到了这个错误。

TypeError:错误 #2007:参数 child 必须为非空。atflash.display::DisplayObjectContainer/addChild() atsquareslide_fla::MainTimeline/loop()[squareslide_fla.MainTimeline::frame1:10]

您可以在下面看到我到目前为止所写的内容。

import flash.events.Event; 
import flash.events.TouchEvent; 
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;

stage.addEventListener(Event.ENTER_FRAME,loop);

function loop(e:Event)
{
    rock1.rotation +=10;
    rock2.rotation +=10;
    rock3.rotation +=10;
    rock4.rotation +=10;
    rock5.rotation +=10; 
    widerock.rotation +=10;
    rock1.y +=10;
    rock2.y +=10;
    rock3.y +=10;
    rock4.y +=10;
    rock5.y +=10;  
    widerock.y +=10;

    if (rock1.y >= 872.9)
    {
        rock1.y = -46.75;
    } 
    if (rock2.y >= 872.9)
    {
        rock2.y = -84.75;
    }
    if (rock3.y >= 872.9)
    {
        rock3.y = -69.75;
    }
    if (rock4.y >= 872.9)
    {
        rock4.y = -230.9;
    }
    if (rock5.y >= 872.9)
    {
        rock5.y = -230.9;
    } 
    if (widerock.y >= 872.9)
    {
        widerock.y = -547.8;
    } 
}
4

2 回答 2

0

为什么要使用 addChild()?

你的moviclip在你的图书馆里吗?你是作为符号导出的吗?如果是,您需要这样做:

var myRock1 = new rock1();
addChild(myRock1);
于 2013-06-13T19:45:48.670 回答
0

您是否创建了一个名为 rock1 的新影片剪辑?您需要先创建和定义影片剪辑,然后才能将其添加到舞台。函数 rock1() 应该包含绘制它和添加事件监听器的调用。

我发现这个网站是关于 AS3 一些基础知识的非常有用的教程:http: //www.flashgametuts.com/tutorials/as3/how-to-create-a-platform-game-in-as3-part-1/

于 2013-06-13T20:52:56.747 回答