我正在尝试addChild时出现空错误

时间:2013-06-13 19:31:29

标签: actionscript-3

当我尝试addChild()我的摇滚1-5 加上 wideock 时,我收到此错误。

  

TypeError:错误#2007:参数child必须为非null。       atflash.display ::的DisplayObjectContainer /的addChild()       atsquareslide_fla :: MainTimeline /回路()[squareslide_fla.MainTimeline ::帧1: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;
    } 
}

2 个答案:

答案 0 :(得分:0)

为什么使用addChild()?

你的移动式滑轨是否在你的图书馆,你是否作为符号导出? 如果是,您需要这样做:

var myRock1 = new rock1();
addChild(myRock1);

答案 1 :(得分:0)

你创建了一个名为rock1的新动画片段吗?您需要先创建并定义movieclip,然后才能将其添加到舞台中。函数rock1()应该包含绘制它和添加事件监听器的调用。

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