इसकी मेरी पहली बार यहाँ जावास्क्रिप्ट के साथ बी को और मैं कैसे इंडेंट करने के लिए पता नहीं है इस खेद:/एक से एक छवि बढ़ते
मैं एक वैन की एक छवि है और मैं के पार ले जाने के लिए कोशिश कर रहा हूँ स्क्रीन जैसे कि यह गाड़ी चला रहा है। एक बार ऐसा करने के बाद मैं छवि को स्केल करने के लिए स्केल करूंगा जैसे कि यह दूर जा रहा है (और छोटा हो रहा है)।
मुझे किसी भी पैकेज (जैसे JQuery) के बिना मानक जावास्क्रिप्ट में इसे करने की आवश्यकता है।
मुझे जो मिला है वह एक वैन है जिसके कारण मैं टूट नहीं सकता क्योंकि एक के बजाय 2 पथ चल रहा है। गलत दिशा में भी आगे बढ़ना (इसे पथ y = -25x के साथ आगे बढ़ना चाहिए ताकि प्रत्येक 25 पिक्सल दाईं ओर चले जाएं, इसे 1 पिक्सेल ऊपर ले जाना चाहिए)।
<script type="text/javascript" src="delivery.js"> </script>
<body onLoad="initVan();">
<img id="van" width=413 height=241/>
var viewWidth = 800;
var viewHeight = 480;
var fps = 30;
var delay = getFrame(fps);
var vanWidth, vanHeight, vanObj;
function initVan() {
vanObj = document.getElementById("van");
vanObj.style.position = "absolute";
vanObj.src = "pics/delivery/van.png";
vanWidth = 413;
vanHeight = 241;
var startX = 0-vanWidth;
var startY = viewHeight-vanHeight;
setPosition(startX,startY);
transition(startX,startY,3000);
}
function transition(startX,startY,time) {
//the intention of this is to follow a path y=-25x in mathematical terms
var endX = viewWidth;
var endY = startY-(endX/-25);
//note that this is the velocity per millisecond
var velocityX = (endX-startX)/time;
var velocityY = (endY-startY)/time;
alert(endY+", "+startY);
move(velocityX,velocityY,endX,endY);
}
function move(vX,vY,eX,eY) {
var posX = getX();
var posY = getY();
if (posX<=eX || posY<=eY) {
//velocityX (in milliseconds) * delay = the amount of pixels moved in one frame @fps=30
var moveX = vX*delay;
var moveY = vY*delay;
var newX = posX+moveX;
var newY = posY+moveY;
setPosition(newX,newY);
setTimeout(function() {
move(vX,vY,eX,eY);
}, delay);
}
}
function getX() {
return vanObj.offsetLeft;
}
function getY() {
return vanObj.offsetTop;
}
function setPosition(newX,newY) {
vanObj.style.left = newY + "px";
vanObj.style.top = newX + "px";
}
function setSize(scaleX,scaleY) {
vanWidth *= scaleX;
vanHeight *= scaleY;
vanObj.width = vanWidth;
vanObj.height = vanHeight;
}
function getFrame(fps) {
return Math.floor(1000/fps);
}
यह मेरा HTML फ़ाइल है: http://i.stack.imgur.com/9WIfr.jpg
यह मेरी जावास्क्रिप्ट फ़ाइल है:
इसे समझने के लिए मैं क्या हासिल करने की कोशिश कर रहा हूँ, कृपया इस छवि देखते हैं
कैसे स्टैक ओवरफ़्लो पदों फ़ॉर्मेट करने के लिए: http://stackoverflow.com/editing-help –
आप दांतेदार यह माध्यम से नहीं बल्कि अच्छी तरह से किया है। सबसे अच्छा तरीका है अपने इंडेंट कोड को पेस्ट करना, इसे संपादक में हाइलाइट करना, और कोड बटन (या CTRL + K संयोजन) दबाएं। –
धन्यवाद, वास्तव में यह मुझे इसे पोस्ट करने की अनुमति नहीं देगा और त्रुटि संदेश ने कहा कि CTRL + K का उपयोग करें, इसलिए मैंने ऐसा किया। – Ozzy