मेरे पास आपके लिए सही कोड नहीं है, लेकिन मैं आपको थोड़ा और गहराई से समस्या के बारे में सोचने में मदद करके सही दिशा में आपको इंगित करने में सक्षम हो सकता हूं।
तो उपयोगकर्ता एक अनियंत्रित वस्तु खींचने के लिए शुरू होता है। वस्तु, प्रारंभिक बिंदु से एक पिक्सेल दूर जाती है के रूप में अगर पहला पिक्सेल इन चार (एक्स, y) निर्देशांक, जहां एक्स और y प्रारंभिक बिंदु हैं में से किसी में है: (एक्स -1, y -1), (एक्स -1, y +1), (एक्स +1, y -1) या (एक्स -1, y +1), यह अभी भी स्पष्ट नहीं है कि उपयोगकर्ता किस तरह से जाने का मतलब है, उदाहरण के लिए, i f वस्तु एक नीचे और बाईं ओर है, यह बताना असंभव है कि बाधा x या y अक्ष पर होनी चाहिए या नहीं।
एक बार जब आप एक से अधिक पिक्सल दूर जाते हैं, तो यह आसान हो जाता है। लेकिन आपको अभी भी पिक्सेल निर्देशांक पर कुछ गोल करना है, जहां उपरोक्त निर्देशांक में, abs (xoffset) == abs (yoffset), फिर आप बाधा लागू करने के लिए एक ईवेंट को आग लगा सकते हैं जब x और/या वाई दूरी कुछ मनमाने ढंग से छोटे पूर्णांक से अधिक हैं, "3" कहें।
इससे निपटने की अगली समस्या धुरी की बाधा की आखिरी गोलीबारी से कितनी दूर है, क्या आप उपयोगकर्ता को अक्ष को बदलने की अनुमति देना चाहते हैं। मैं अनुमान लगा रहा हूं कि आप ग्रिड प्रभाव चाहते हैं, इसलिए आपको बाधा को हटाने से पहले नंबर-ऑफ-पिक्सेल थ्रेसहोल्ड सेट करना होगा और उपयोगकर्ता को खींचने के लिए इच्छित "दिशा" की तलाश करें।
यह एक दिलचस्प चुनौती है और यदि आप यह समझते हैं कि यह कैसे करना है तो यह एक अच्छा सीखने का अनुभव है।
यदि आप किसी ऑब्जेक्ट को बाएं और दाएं खींच सकते हैं, और ऊपर और नीचे ... क्या आप इसे तिरछे खींच नहीं सकते? या आप केवल "प्रारंभ स्थिति" से बात कर रहे हैं? आईई, यदि आप 0,0 से शुरू करते हैं और आप 0, -3 से परे एक बिंदु पर जाते हैं ... अचानक आप केवल ऊर्ध्वाधर तक सीमित हैं? – snicker
हां, यह वही है जो मैं प्राप्त करना चाहता हूं। –
वैसे मैंने कोड को सही तरीके से करने के लिए लिखा था, और JQuery केवल खींचने के दौरान अक्ष को बदलने की अनुमति नहीं देगा। – snicker