这关想不出了,卡在这过不去了,求族大lao

img


btn1.on("click",change1);
function change1(){
    
}

btn2.on("click",change2);
function change2(){

}

btn3.on("click",change3);
function change3(){
 
}

btn4.on("click",change4);
function change4(){

}

btn5.on("click",change5);
function change5(){

}

app.ticker.add(animate);
function animate(){
    
}

你试试看,我没有运行测试,但是应该差不多



let STATUS = { RUN:1, STOP:0 }; // 运行状态值
let elevator_status = STATUS.STOP; // 运行状态
let elevator_to_pos_y = 0; // 电梯要去的楼层地址
let elevator_pos_y = elevator.y // 电梯当前楼层地址
let elevator_speed = 10; // 电梯移动速度
let FLOOR_POS_Y = [0, 380, 287, 194, 101, 8]; //楼层地址

function clickBtn(floor){
    let floor_pos_y = FLOOR_POS_Y[floor];
    if(!floor_pos_y) return 0;
    if(elevator_status === STATUS.RUN) return 0;
    if(elevator_pos_y === floor_pos_y) return 0;
    elevator_to_pos_y = floor_pos_y;
    elevator_status = STATUS.RUN;
}

btn1.on("click", clickBtn.bind(this, 1));
btn2.on("click", clickBtn.bind(this, 2));
btn3.on("click", clickBtn.bind(this, 3));
btn4.on("click", clickBtn.bind(this, 4));
btn5.on("click", clickBtn.bind(this, 5));
 
function animate(){
    if(elevator_status === STATUS.RUN){
        if(elevator_to_pos_y > elevator_pos_y){
            // 电梯下行
            elevator_pos_y = elevator.y += ( elevator_pos_y + elevator_speed > elevator_to_pos_y ? elevator_to_pos_y - elevator_pos_y : elevator_speed);
        }
        else {
            // 电梯上行
            elevator_pos_y = elevator.y -= ( elevator_pos_y - elevator_speed < elevator_to_pos_y ? elevator_pos_y - elevator_to_pos_y : elevator_speed);
        }
        if(elevator_pos_y === elevator_to_pos_y){
            // 电梯到达指定楼层
            elevator_status = STATUS.STOP;
        }
    }
}
app.ticker.add(animate);

有用望采纳