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);
有用望采纳