मैं एक ब्राउज़र गेम में एक चरित्र को स्थानांतरित करने के लिए एक कोड लिख रहा हूं। मैं पिक्सल प्राप्त करने में कामयाब रहा, इसे प्रति सेकंड क्षैतिज और लंबवत दोनों स्थानांतरित करना चाहिए।सरल जावास्क्रिप्ट लूप जो प्रत्येक दूसरे को दोहराता है
pxsecx एक ही है, लेकिन खड़ी
मूल रूप से यह + = उन्हें वर्तमान क्षैतिज और ऊर्ध्वाधर स्थिति में होना चाहिए पिक्सेल की संख्या में यह प्रति सेकंड pxsecy क्षैतिज चाल करना चाहिए।
मुझे लूप को हर सेकेंड को दोहराने की आवश्यकता है जब तक कि तत्व स्थिति नई स्थिति (न्यूएक्स) को पूरा न करे।
यह जहाँ तक मैं चले गए हैं है:
<body onmousedown="showCoords(event)">
<script type="text/javascript">
function showCoords(evt){
oldx = parseInt(document.getElementById("character").style.left);
oldy = parseInt(document.getElementById("character").style.top);
width = parseInt(document.getElementById("character").style.width);
height = parseInt(document.getElementById("character").style.height);
newx = evt.pageX - width/2;
newy = evt.pageY - height/2;
disx = newx - oldx;
disy = newy - oldy;
diag = parseInt(Math.sqrt(disx*disx + disy*disy));
speed = 50;
secs = diag/speed;
pxsecx = disx/secs;
pxsecy = disy/secs;
while(document.getElementById("character").style.left<newx)
{
document.getElementById("character").style.left += pxsecx;
document.getElementById("character").style.top += pxsecy;
}
}
</script>
सब कुछ है, जबकि मैं कहाँ पता नहीं कैसे यह हर दूसरे काम करने के क्या करना है जब तक काम करता है। मैं इसे यहां परीक्षण कर रहा हूं: http://chusmix.com/game/movechar.php
मैं इसे दोहराने के लिए कैसे दोहरा सकता हूं ताकि यह काम करता हो? इसलिए आप इस एक छोटे से फिर से लिखने की आवश्यकता होगी
धन्यवाद
आपके उत्तर के लिए धन्यवाद, आप कृपया मुझे बताओ कैसे यह मेरी स्क्रिप्ट में शामिल करने के लिए कर सकता है। मैंने कोशिश की लेकिन मैं जावास्क्रिप्ट पर भयानक हूँ। क्या आप सिर्फ अंतिम कोड पेस्ट कर सकते हैं? मुझे नहीं पता कि इसे कैसे शामिल किया जाए। बहुत बहुत धन्यवाद – lisovaccaro
बस इसके साथ अपने वर्तमान 'while' लूप को प्रतिस्थापित करें। – icktoofay
क्या इससे कोई फर्क नहीं पड़ता कि आपके द्वारा कथन में तुलना की जाने वाली मान एक ही प्रकार की नहीं हैं। 'अगर (" 100px "<432) 'हमेशा झूठी वापसी लगता है। यह कामकाजी कोड प्रतीत नहीं होता है हालांकि यह करीब है। क्या आप दोबारा जांच सकते हैं? मुझे लगता है कि एक बार आपके प्रकार एक जैसे हैं, यह काम करेगा, लेकिन इस वर्तमान प्रारूप में नहीं। – jmort253