1

jQuery 1.9.1&を使用してアニメーションを作成しようとしてjQuery-collisionいます。オブジェクトが立っているオブジェクトを引き上げたいところです。立っているプラ​​ットフォームが上がり、その上に立っているオブジェクトを取ります。しかし、これまでのところ、私はそれを行うことができません。ここに私のコードがあります、

$(document).ready(function () {
    heroDrop = setInterval(function () {
        var currentTop = parseInt($('#boy').css('top'));
        $('#boy').css('top', currentTop + 5);
    }, 50);

    barMove = setInterval(function () {
        var currentTop = parseInt($('.platbars').css('top'));
        $('.platbars').css('top', currentTop - 2);
    }, 100);

    setInterval(function () {
        action_process()
    }, 10);
});

function action_process() {
    $('#boy').each(function () {
        var fallstop = $(this).collision(".platbars");
        if (fallstop.length != 0) {
            clearInterval(heroDrop);
            heroDrop = null;
        } else {
            if (heroDrop !== null) return;
            heroDrop = setInterval(function () {
                var currentTop = parseInt($('#boy').css('top'));
                $('#boy').css('top', currentTop + 5);
            }, 50);
        }
    });
}

JSFiddleデモはこちら

どうすればオブジェクトをプラットフォームに乗せることができますか? この助けがひどく必要です!ありがとう。

4

1 に答える 1

2

私はあなたのコードにいくつかの調整を加えました:

var heroDrop;
var heroMove;
var barMove;
var coll;

$(document).ready(function () {
    heroDrop = setInterval(function () {
        var currentTop = parseInt($('#boy').css('top'));
        $('#boy').css('top', currentTop + 5);
    }, 50);

    barMove = setInterval(function () {
        var currentTop = parseInt($('.platbars').css('top'));
        $('.platbars').css('top', currentTop - 2);
    }, 100);

    coll = setInterval(function () {
        action_process()
    }, 10);
});

function action_process() {
    $('#boy').each(function () {
        var fallstop = $(this).collision(".platbars");
        if (fallstop.length != 0) {
            clearInterval(heroDrop);
            clearInterval(coll);
            heroDrop = setInterval(function () {
                var currentTop = parseInt($('#boy').css('top'));
                $('#boy').css('top', currentTop - 2);
            }, 100);
        }
    });
}
于 2015-06-07T16:03:23.463 に答える