在同一个setinterval中处理两个不同的事件,并控制两个事件触发的时间

//生成敌机
 function buildCar(){
    var flyCar = $('<div class="flyCar"></div>');
    flyCar.appendTo($("#wrap"));
}
    setInterval(buildCar,1000);
//敌机降落
 function carLandfall(){
    var flyCarFlow = $("#wrap").find(".flyCar");
    for(var i=0;i<flyCarFlow.length;i++){
        var nowFly = $(flyCarFlow[i]);
        var currentTop = nowFly.offset().top;
        currentTop += 10;  
        nowFly.css({top:currentTop});
    }
    setInterval(carLandfall,20)

在写一个飞机大战的游戏,怎样将这两个intreval写成一个interval?在同一个interval里处理生成飞机和降落这两个事件,并且通过一个参数控制这两个事件的时间

阅读 4k
1 个回答

给你个算法,自己想想

(function() {
    var flyTime = 0;
    var flowTime = 0;

    function flyCar() {
        // TODO 生成敌机
    }

    function flyCarFLow() {
        // TODO 降落
    }

    setInterval(function() {
        var current = new Date().getTime();

        if (current - flowTime > 20) {
            flyCarFLow();
            flowTime = current;
        }

        if (current - flyTime > 1000) {
            flyCar();
            flowTime = current;
        }
    });
})();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题