के दौरान ओवरलैपिंग तत्वों को रोकना मैं एक अतिरिक्त और घटाव गेम बना रहा हूं जहां एक राशि यादृच्छिक रूप से जेनरेट की जाती है और कंटेनर के शीर्ष पर प्रदर्शित होती है। संख्याएं नीचे से ऊपर तक एनिमेट करें और विचार सही पर क्लिक करना है।एनीमेशन
नंबरों को शुरुआत में यादृच्छिक "एक्स" स्थिति दी जाती है और फिर उसी गति पर शीर्ष पर एनिमेट की जाती है।
मेरी समस्या यह है कि जब प्रोग्राम चल रहा है तो तत्व कभी-कभी ओवरलैप कर सकते हैं क्योंकि उन्हें शुरुआत में एक समान "x" स्थिति दी जाती है।
मुझे प्रोग्राम को यह बताने की ज़रूरत है कि वह "x" स्थिति न दें, जब तक कि इसका उपयोग करने वाले तत्व को स्क्रीन पर पर्याप्त रूप से ओवरलैप न हो।
जब गेम पहली बार शुरू होता है तो समस्या सबसे खराब होती है।
यहाँ प्रासंगिक कोड है ...
var currentMoving = [];
function moveRandom(id) {
// Mark this one as animating
currentMoving.push(id);
var cPos = $('#container').offset();
var cHeight = $('#container').height();
var cWidth = $('#container').width();
var bWidth = $('#' + id).width();
var bHeight = $('#' + id).css('top', '395px').fadeIn(100).animate({
'top': '-55px'
}, AnimationSpeed,'linear').fadeOut();
maxWidth = cPos.left + cWidth - bWidth;
minWidth = cPos.left;
newWidth = randomFromTo(minWidth, maxWidth);
$('#' + id).css({
left: newWidth
}).fadeIn(100, function() {
setTimeout(function() {
$('#' + id).fadeOut(10);
// Mark this as no longer animating
var ix = $.inArray(id, currentMoving);
if (ix !== -1) {
currentMoving.splice(ix, 1);
}
window.cont++;
}, 100);
});
}
यहाँ एक बेला है - http://jsfiddle.net/pUwKb/68/
यह अभी भी हो रहा है हालांकि @DhruvPathak – sMilbz
@smilbz मेरा संपादन देखें। – DhruvPathak
यह बहुत अच्छा लग रहा है - बिल्कुल वही जो मैं चाहता था। एकमात्र मुद्दा यह है कि कभी-कभी यदि आप बारीकी से देखते हैं तो आप देख सकते हैं कि @DhruvPathak – sMilbz