首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >As3从Libary添加MC并在加载MC中添加内容

As3从Libary添加MC并在加载MC中添加内容
EN

Stack Overflow用户
提问于 2013-04-29 22:14:22
回答 2查看 43关注 0票数 0

我有一个从Libary加载的movieClip,我已经正确地将它链接到了一个名为myMC的导出中。这个电影包含另一个movieclip和一些属性。让我们调用内部的movieClip:insideMC

这是我的代码:

代码语言:javascript
复制
function loadScreen()
{
    var newMC:MovieClip = new myMC();
    addChild(newMC);
    loadButtons();
}

function loadButtons()
{
    newMC.insideMC.addEventListener(MouseEvent.CLICK, homeButtons);
}

loadScreen();

然而,当我在loadButtons() loadScreen() 函数中调用函数时,就会得到这个错误。

代码语言:javascript
复制
TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at iRosary_fla::MainTimeline/loadButtons()[iRosary_fla.MainTimeline::frame1:83]
        at iRosary_fla::MainTimeline/loadScreen()[iRosary_fla.MainTimeline::frame1:110]
        at iRosary_fla::MainTimeline/frame1()[iRosary_fla.MainTimeline::frame1:103]

它没有看到insideMC。也许是因为它要求快速加载或者还没有加载。它正在调用和加载newMC tho。只是函数loadButtons()没有工作,因为它没有看到insideMC movieClip。我相信这是一个简单的解决办法,但我哪儿也找不到。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-29 22:19:09

newMCloadScreen()方法中的局部变量,因此它在loadButtons()方法中没有作用域。

newMC声明为类成员变量,它将在loadButtons()中具有作用域

例如:

代码语言:javascript
复制
// in class declarations
public var newMC:MovieClip;

function loadScreen()
{
    newMC = new myMC();
    addChild(newMC);
    loadButtons();
}

重要的是要明白:

代码语言:javascript
复制
var newMC:MovieClip = new myMC();

创建一个局部变量。从您的注释中可以看出,您确实将newMC作为类变量。因此,假设上面的行将新实例分配给您的类成员newMC,而不是您创建的局部变量。

票数 1
EN

Stack Overflow用户

发布于 2013-04-29 22:18:22

不完全确定这是你的问题。但是要在电影剪辑中访问电影剪辑,您必须在第一个电影剪辑中给"insideMC“一个实例名。否则,您将引用未添加到舞台的对象-空对象。

关于实例名称这里的教程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16289141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档