Kommt es zu einem Konflikt mit der definition leftIdle1 im internen namespace

Ich bin scripting ein Spiel mit Actionscript 3.0 in Flash Professional CS5.5, aber ich bekomme eine Fehlermeldung.

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

(Ich bekomme diese mit den anderen Variablen zu.)

Nun, es ist ein Plattform-Spiel, und ich werde Zwischensequenzen durchgehend in das Spiel und ich muss wechseln von frames und setzen Sie den code in einem anderen frame. Aber es gibt die Fehler, ich schaltete den 'Automatisch Deklarieren Bühne Instanzen' - Funktion, jetzt habe ich überprüft, diese website und es Gegoogelt, die Leute bekommen es mit Ihren Videoclips, bekomme ich es mit meinen Variablen.

Dies ist mein Skript:

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;
    }

}

Es ist wahrscheinlich, codiert, in einer seltsamen Art und Weise, aber egal.
Ich habe keine Ahnung, was an dieser Stelle zu tun.
Hilfe wäre wirklich zu schätzen.

EDIT:

Oh, ich habe einen anderen Fehler auch. Es ist mit Doppelter Funktion, und ich kann nicht scheinen, um es zu beheben, aber, benennen diese, und es dauert eine lange Zeit, um Sie umzubenennen jeder-Zeit. Wenn also jemand etwas, vielen Dank!

  • Sie haben dupliziert, Definitionen, z.B.: "var leftIdle1:Boolean" mehrfach - entfernen Sie die Duplikate
  • Ach so, es erzeugt nur die Variablen, die in der gesamten Datei? So kann es später verwendet werden, ohne jedoch zu erklären, es erneut? Danke! Nun, wie funktioniert das mit der Duplizieren-Funktion? Ich habe die gleichen Ereignisse in einem anderen Bild zu.
  • yep - genauso alle Definitionen auf dem ersten Bild. Dasselbe mit Funktionen, Duplikate entfernen (oder umbenennen, wenn auch einfacher).
  • Oh wow, ich wusste das nicht! Danke!
InformationsquelleAutor stepper | 2013-04-17
Schreibe einen Kommentar