【问题标题】:AS3 null-object referenceAS3 空对象引用
【发布时间】:2013-08-21 19:57:55
【问题描述】:

代码如下:

function playSound():void
{
    var channel:SoundChannel = sound.play();
    channel.addEventListener(Event.SOUND_COMPLETE, onComplete);
}

function onComplete(event:Event):void
{
    SoundChannel(event.target).removeEventListener(event.type, onComplete);
    playSound();
}

我在channel.addEventListener(Event.SOUND_COMPLETE, onComplete); 上收到错误消息 但我一开始没有得到它,因为游戏运行了一段时间没有错误,所以我建议 onComplete 函数或事件侦听器有问题,但是,我尝试的所有方法都失败了,我在这里停留了一段时间现在是时候了。

我只是决定在这里发布它,看看是否有人能看到问题。

提前致谢!

编辑: 抱歉,我没有立即加入。

错误:

TypeError:错误 #1009:无法访问 null 的属性或方法 对象引用。在 projectSnowFlake_fla::MainTimeline/playSound()[projectSnowFlake_fla.MainTimeline::frame1:275] 在 projectSnowFlake_fla::MainTimeline/playGame()[projectSnowFlake_fla.MainTimeline::frame1:269] 在 projectSnowFlake_fla::MainTimeline/gameLoop()[projectSnowFlake_fla.MainTimeline::frame1:156] [UnloadSWF] projectSnowFlake.swf 测试影片终止。

这是sound

var sound:Sound = new MainSound();

【问题讨论】:

  • var channel:SoundChannel = sound.play(); 你的sound 变量是什么?
  • 你得到什么错误?我认为您注册事件的顺序可能是一个问题。但是,除非我查看错误,否则不确定。

标签: actionscript-3 null


【解决方案1】:

我阅读了您的代码,唯一的潜在问题是声音变量,可以为空。

你实例化了声音变量吗?

如果sound被赋值,(可变sound的)方法play可以返​​回一个空值吗?

评论后编辑:

您好,查看thisthis issue

【讨论】:

  • 您好,请问您测试play()方法的结果了吗?有可能返回null吗?
  • 刚做了,可能有问题,返回undefined
  • 没错。如果播放返回未定义,则将对象通道设置为空。下一行调用addEventListener,channel对象的方法,但是channel为null,所以不能调用方法!
  • 那么我应该如何定义游戏呢?
  • 请后期播放方法正文
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-03
  • 2014-03-03
  • 2016-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多