【问题标题】:Compile-time constant error Actionscript 3编译时常量错误 Actionscript 3
【发布时间】:2015-04-25 02:37:28
【问题描述】:

我目前正在尝试制作一个类似于 doodlejump 的平台游戏,但是我遇到了两个我不确定如何修复的错误。下面是我目前正在使用的代码。我的错误是;

**场景 1,图层“代码”,第 4 帧,第 181 行 1046:类型未找到或不是编译时常量:棒。


场景 1,“代码”层,第 4 帧,第 207 1180 行:调用可能未定义的方法棒。**


var tempStick:stick;
var tmpMc:MovieClip;


stop();

// MONITOR THE ACCELEROMETER
var myAcc:Accelerometer = new Accelerometer();
myAcc.addEventListener(AccelerometerEvent.UPDATE, onAccUpdate);

function onAccUpdate(evt:AccelerometerEvent):void{
    accX = evt.accelerationX;   
}

//MONITOR THE ENTER_FRAME EVENT
stage.addEventListener(Event.ENTER_FRAME, onMyEnterFrame);

//INIT STAGE WITH CLOUDS
if (firstPass == 1){
    liveScore = 0;
    accX = 0;

    for (var i:int=0; i< 5; i++){
    tempStick = new stick;
    tempStick.x = Math.random()*stage.stageWidth;
    tempStick.y = 0 + i*stage.stageHeight/6;

    myVect[i] = tempStick;
    addChild(tempStick);
    tempStick.cacheAsBitmap = true;
}
    firstPass = 2;
}




function onMyEnterFrame(evt:Event):void{

//MOVE X DEPENDING ON THE ACCELEROMETER
MyIcare.x -= (MyIcare.x - (MyIcare.x + accX * 10))*0.6;

//MOVE HEAD TO THE LEFT OR TO THE RIGHT
if(accX > 0) {
    MyIcare.gotoAndStop(2);
}else{
    MyIcare.gotoAndStop(1);
}

// Vertical speed OF THE ICARE/ANGEL
vVelocity += vAcceleration;



if((MyIcare.y > middleScreen) && (vVelocity < 0)){
        // ICARE IS GOING UP
        MyIcare.y += vVelocity;
    }else{
        if(vVelocity > 0){
            // ICARE IS GOING DOWN
            MyIcare.y += vVelocity;

            // TEST IF ICARE TOUCHES A CLOUD
            for (var i:int=0; i< 5; i++){
                tmpMc = myVect[i];
                if (MyIcare.hitTestObject(tmpMc))
                    {
                        vVelocity = -20;
                    }

            }

        }else{
            // THE WORLD IS GOING DOWN
            // WHEN ICARE IS IN THE MIDDLE OF THE SCREEN

            for (var j:int=0; j< 5; j++){
                tmpMc = myVect[j];
                tmpMc.y -=  vVelocity;
            }

            liveScore += 5;
        }
    }

    // CHECK IF THE CLOUDS ARE OUT OF THE SCREEN
    if(myVect[0] != null){
    for (var k:int=0; k< 5; k++){
                tmpMc = myVect[k];
                if(tmpMc.y > stage.stageHeight){
                    tmpMc.y = -5;
                    tmpMc.x =  Math.random()*stage.stageWidth;
                }
            }
    }


    //ICARE IS OUT OF THE SCREEN

        //PAUSE GAME
        MyIcare.y = -300;
        vVelocity = 0;
        vAcceleration = 0;

        // PLAY FUNNY SOUND
    }

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    您的问题很可能是您没有告诉您的库对象(棒)可供代码访问。

    为此,请在 FlashPro 中打开您的库面板,右键单击您的棒资产/movieClip,然后选择属性

    符号属性 窗口中,选中 Export For ActionScript 框。然后在 Class 字段中输入 stick

    现在您可以通过代码实例化stick

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2011-09-02
      相关资源
      最近更新 更多