【问题标题】:A conflict exists with definition leftIdle1 in namespace internal与命名空间内部中的定义 leftIdle1 存在冲突
【发布时间】:2013-04-17 14:21:58
【问题描述】:

我在 Flash Professional CS5.5 中使用 Actionscript 3.0 编写游戏脚本,但出现错误。

Scene 1, Layer 'as2', Frame 153, Line 4 1151: A conflict exists with definition leftIdle1 in namespace internal.

(我也将这些与其他变量一起使用。)

现在它是一个平台游戏,我将在游戏中放置过场动画,我需要从帧切换并将代码放在另一个帧中。但它给出了那个错误,我关闭了“自动声明阶段实例”功能,现在我检查了这个网站并用谷歌搜索了它,人们用他们的 Movieclips 得到它,我用我的变量得到它。

这是我的脚本:

var leftKeyDown1:Boolean = false;
var rightKeyDown1:Boolean = false;
var spaceKeyDown1:Boolean = false;
var leftIdle1:Boolean = false;
var rightIdle1:Boolean = true;
var mainSpeed1:Number = 4;


player.addEventListener(Event.ENTER_FRAME, moveChar);
function moveChar(event:Event)
{

    if (leftKeyDown1)
    {
        player.x -=  mainSpeed1;
        leftIdle1 = true;
        rightIdle1 = false;
        player.gotoAndStop("walk_left");
    }
    if (rightKeyDown1)
    {
        player.x +=  mainSpeed1;
        rightIdle1 = true;
        leftIdle1 = false;
        player.gotoAndStop("walk_right");
    }

    if (rightIdle1 && !rightKeyDown1 && !leftKeyDown1)
    {
        player.gotoAndStop("idle_right");
    }
    else if (leftIdle1 && !rightKeyDown1 && !leftKeyDown1)
    {
        player.gotoAndStop("idle_left");
    }

    if (collide.hitTestObject(player))
    {
        player.x = player.x + mainSpeed1;
    }

    if (trigger1.hitTestObject(player))
    {
        son1.gotoAndStop("walkRight");
        trigger1.gotoAndStop(2);
        son1.x +=  2;
    }
    if (trigger2.hitTestObject(player))
    {
        gotoAndPlay(4);
    }
}

stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeysDown);
function checkKeysDown(event:KeyboardEvent)
{
    if (event.keyCode == 37 || event.keyCode == 65)
    {
        leftKeyDown1 = true;
    }
    if (event.keyCode == 39 || event.keyCode == 68)
    {
        rightKeyDown1 = true;
    }
    if (event.keyCode == 32)
    {
        spaceKeyDown1 = true;
    }
}

stage.addEventListener(KeyboardEvent.KEY_UP, checkKeysU1);
function checkKeysUp(event:KeyboardEvent)
{

    if (event.keyCode == 37 || event.keyCode == 65)
    {
        leftKeyDown1 = false;
    }
    if (event.keyCode == 32)
    {
        spaceKeyDown1 = false;
    }
    if (event.keyCode == 39 || event.keyCode == 68)
    {
        rightKeyDown1 = false;
    }

}

它可能以一种奇怪的方式编码,但无论如何。 我现在不知道该怎么做。 帮助将不胜感激。

编辑:

哦,我也遇到了另一个错误。它具有重复功能,我似乎无法修复它,只能重命名它们,每次重命名它们都需要很长时间。因此,如果有人对此有所帮助,谢谢!

【问题讨论】:

  • 您有重复的定义,例如:"var leftIdle1:Boolean" 多次 - 删除重复项
  • 哦,所以它只是在整个文件中创建这些变量?所以以后可以用,不用再声明了?谢谢!现在,这如何与重复功能一起使用?我在另一个框架上也有相同的事件。
  • 是的 - 只需将所有定义放在第一帧。与函数相同 - 删除重复项(或者如果更容易重命名它们)
  • 哇哦,我不知道这个!谢谢!

标签: actionscript-3 stage instances


【解决方案1】:

你有重复的定义。

例如:

var leftIdle1:Boolean

存在多次 - 删除重复项

【讨论】:

    猜你喜欢
    • 2017-10-05
    • 2015-10-23
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多