Keresés

Új hozzászólás Aktív témák

  • Tomi_78
    aktív tag

    Két dolog:

    1. tanuljuk már meg végre, hogy mi a különbség a let és const között :) ez a halálom, amikor valaki a legalapabb dolgot is fogalmatlanul használja.
    2. nekem ez a megoldás sokkal szimpatikusabb: https://stackoverflow.com/questions/19764018/controlling-fps-with-requestanimationframe minden olyan megoldástól a hideg kiráz, ami animációval kapcsolatos és settimeout / setinterval van benne. Ezt a megoldás még kombinálnám annyival, hogy magát az animációt kiszervezném egy külön worker thread-be, mert ezekben az esetekben az a gond, hogy ha komplex az animáció / nagyon gyenge a futtató vas, akkor lehet, hogy több frame-et is át fogsz lépni, mint eredetileg tervezted.

    Szia!

    1. Ahogy én tudom (nem régóta és meglehet, rosszul), a különbség a let és a var között (e kettő alapján néztem utána) az, hogy a var egy blokkon belül érvényes, tehát ugyanolyan változó már nem lehet azon belül, míg a let esetében ilyen megkötés nincsen.
    2. Megcsináltam most az általad ajánlott megoldás alapján; az én gépemen jól működik, tehát remélem, mindenhol így lesz. Csak azt nem értem, hogy a startTime változóra mi szükség van, hiszen azon kívül, hogy egyszer értéket kap, nem használatos?
    Tehát itt a kód a játékomból:
    var fps, jateksebessege, startTime, most, akkor, eltelt;
      // initialize the timer variables and start the animation
      
      startAnimating(120);
      function startAnimating(fps) {
       jateksebessege = 1000 / fps;
       akkor = Date.now();
       startTime = akkor;
       jatekciklus();
      };
      
      function jatekciklus() {
       requestAnimationFrame(jatekciklus);
       most = Date.now();
       eltelt = most - akkor;
       if (eltelt > jateksebessege) {
        akkor = most - (eltelt % jateksebessege);
     //...a program többi, rajzoló része...

Új hozzászólás Aktív témák