1

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.

(これらは他の変数でも取得できます。)

これはプラットフォーム ゲームであり、ゲーム全体にカットシーンを配置するつもりです。フレームから切り替えて、コードを別のフレームに配置する必要があります。しかし、それはそのエラーを出します.「ステージインスタンスの自動宣言」機能をオフにしました.今、私はこのウェブサイトをチェックしてグーグルで検索しました.人々はムービークリップでそれを取得し、変数で取得します.

これは私のスクリプトです:

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

}

おそらく奇妙な方法でコーディングされていますが、何でも。この時点で何をすべきかわかりません。助けていただければ幸いです。

編集:

ああ、別のエラーも発生しました。複製機能が付いていて、名前を変更するしか修正できないようで、毎回名前を変更すると時間がかかります。誰かがそのための何かを持っているなら、ありがとう!

4

1 に答える 1