I,m使用一個小腳本來檢測兩個元素是否發生碰撞。應用/使用具有相同類別的多個div的函數IQUERY
function collision($yo, $obstaculo) {
var x1 = $yo.offset().left;
var y1 = $yo.offset().top;
var h1 = $yo.outerHeight(true);
var w1 = $yo.outerWidth(true);
var b1 = y1 + h1;
var r1 = x1 + w1;
var x2 = $obstaculo.offset().left;
var y2 = $obstaculo.offset().top;
var h2 = $obstaculo.outerHeight(true);
var w2 = $obstaculo.outerWidth(true);
var b2 = y2 + h2;
var r2 = x2 + w2;
if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
return true;
}
我的問題了,我不知道如何使用功能與所有與類名「.obstacle」的div。知道對不對I'm調用該函數是這樣的:
collision($('#character'),$('.obstacle'));
編輯:我已經鑄成使用。每個在jfiddle測試,但似乎不起作用。出於某種原因,只檢索拉斯元素,它總是返回true:
http://jsfiddle.net/Osaka_lime/jV9Ls/27/
像往常一樣,對不起我的可怕的英語和感謝名單!!!!
Thanx爲您提供幫助,我正在嘗試使用您的.each功能,但似乎總是回覆真實的,您可以在此鏈接中看到我的代碼: http://jsfiddle.net/Osaka_lime/jV9Ls/27/ – user3214649
好吧,我已經找到了.each解決方案,你可以在這個jfiddle http://jsfiddle.net/jV9Ls/29/ Thanx中看到你的幫助。 – user3214649
抱歉沒有儘早回覆您,但很高興您找到了解決方案! – mkowalski