Laur155 155 ρώτησε πριν 8 έτη

Καλησπερα εχω θεμα στο να κατανοησω τις καποιες εντολες απο το ακουλοθω προγραμμα αν μποργτε να μου τις εξηγησετε

var vx = 4;

var vy = 1;

var step = 50; // In milliseconds

var x = 0;

var y = 0;

var size = 50;

var w = c.canvas.width;

var h = c.canvas.height;

var cmTID;

drawStep();

function drawStep() {

// Clear the screen

c.clearRect(0, 0, w, h);

// Draw the box

c.strokeRect(x, y, size, size);

// Move the box unless at edge

if (x + vx + size < w &&

y + vy + size < h) {

x += vx;

y += vy;

clearTimeout(cmTID); <---(1)

// Do it again in a little bit

cmTID = setTimeout(drawStep, step); <---(2)

}

}

(1)

Τι κανει η σηγκεκριμενη εντολη;

(2)

Τι κανει η setTimeout;

Στην μεταβλητη cimTID τι εκχωριται;

Θελω αν μπορειται πολλυ κατανοητες απαντησεις να μην ειναι σε επιστημονικο τροπο

Ευχαριστω

5 Απαντήσεις

Υποστήριξη PCsteps (Νίκος) απάντησε πριν 8 έτη

Εδώ έχει αναλυτικά παραδείγματα και για τις 2 εντολές

http://www.w3schools.com/js/js_timing.asp

Laur155 155 απάντησε πριν 8 έτη

Δεν καταλαβα καλα με την cimTID τι γινεται δηλαδη δηλαδη την μεταβλητη την χρησημοποιη μονο για το clearTimeout(); και δεν εκχωριται τιποτα

Υποστήριξη PCsteps (Νίκος) απάντησε πριν 8 έτη

Γιατί λες δεν εκχωρείται τίποτα;

cmTID = setTimeout(drawStep, step);

Μην διαβάζεις πάντα τον κώδικα από πάνω προς τα κάτω.

Laur155 155 απάντησε πριν 8 έτη

Τι μπαινει;

(εχω συνησηση στην γλωσσα του αεππ που οταν εκχωρης κατι μπαινει μεσα εδω τι μπαινει)

Laur155 155 απάντησε πριν 8 έτη

δηλαδη σαν τιμη ειναι το 50 η συναρτηση δεν νομιζω να μπαινει