首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内部名称空间中的定义事件存在冲突。

内部名称空间中的定义事件存在冲突。
EN

Stack Overflow用户
提问于 2015-07-31 17:00:29
回答 1查看 387关注 0票数 0

我是as3的新手。我知道这个错误:

内部名称空间中的定义事件存在冲突。

我用的是相同的编码但场景不同。我换了第二幕。

代码语言:javascript
复制
var mysound:bila =new bila()

这是我第一幕的代码,只有在第一幕中才能成功:

代码语言:javascript
复制
var isItPlaying:Boolean = true;
var lastposition:Number = 0;
var mysound:izhar = new izhar();
var soundchannel:SoundChannel = new SoundChannel();
soundchannel = mysound.play(0,0);// playing sound in the channel
soundchannel.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete1);

function onPlaybackComplete1(event:Event):void
{
    lastposition = 0;
    soundchannel.stop();
    btn.btn_pause.visible = false;
    trace("finished");
    isItPlaying=false;
}
/************end of part 1********/

btn.addEventListener(MouseEvent.CLICK, playsound);*

function playsound(event:MouseEvent):void*
{
    if (! isItPlaying)
    {
        soundchannel = mysound.play(lastposition,0);
        btn.btn_pause.visible = true;
        isItPlaying = true;
    }
    else
    {
        lastposition = soundchannel.position;
        soundchannel.stop();
        btn.btn_pause.visible = false;
        /*trace(lastposition.toFixed(0), mysound.length.toFixed(0));*/
        isItPlaying = false;
    }

    soundchannel.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);*

    function onPlaybackComplete(event:Event):void
    {
        lastposition = 0;
        soundchannel.stop();
        btn.btn_pause.visible = false;
        trace("finished");
        isItPlaying=false;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-07-31 21:29:54

冲突是因为您在同一范围内声明两个名称相同的变量。

event变量声明为playsound函数中的参数。然后有一个嵌套函数onPlaybackComplete,它声明一个具有相同名称的参数。

要解决这个问题,可以将其中一个参数重命名为其他参数,或者将onPlaybackComplete函数移出playsound函数,使其具有自己的作用域。

我更喜欢第二个选项,除非出于某些特定原因需要嵌套该函数。

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

https://stackoverflow.com/questions/31751467

复制
相关文章

相似问题

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