Keresés

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

  • Sk8erPeter

    nagyúr

    válasz Jim-Y #3499 üzenetére

    Jaja, ez jó workaround, igazából annyi a trükk, hogy setIntervallal 25 milliszekundumonként rajzoltatja újra a képet, és 5 egységgel mozgatja a négyzetet ide-oda a kurzorgombok lenyomására.
    De figyelj azokra a dolgokra, amiket martonx említett.

    (#3500) martonx :
    jaja, ez tényleg gáz, sajnos sokszor a fejlesztők nem figyelnek oda a felesleges overheadre, ami így kicsiben lehet, hogy nem érzékelhető, de eleve igénytelenül programozni elég gáz.
    Meg a cikk mondanivalója nem kicsit félrevezető ezzel az "Until I realized I could just use jQuery." mondattal, amikor ezek a dolgok jQuery nélkül is különösebb macera nélkül megoldhatóak, legalábbis nem itt jön ki a jQuery előnye, az is biztos. Igazából mi az, ami itt rövidíti a kódot? Legfeljebb az eseménykezelés rövidebb egy picit, meg nem írt document.getElementById('canvas')-t, ami valóban hosszabb, mint a $('#canvas'), de nagyjából itt meg is áll a dolog... a többi ergo pontosan ugyanannyiból összehozható plain JS segítségével.

    De hogy ne csak a szám járjon, itt van az egész plain JS-ben, különösebb erőlködés és jQuery nélkül:

    http://jsfiddle.net/Sk8erPeter/b5sxk/

    Kipróbáltam, működik Chrome-ban, Firefoxban, Operában.

  • martonx

    veterán

    válasz Jim-Y #3499 üzenetére

    Jó ez a bejegyzés, csak azt nem értem minek ehhez jquery? A blogoló megspórolt a jquery-vel pár karakternyi gépelést?

    Ráadásul ez a 3 sor mennyire gáz már?

    context = $('#canvas')[0].getContext('2d');
    WIDTH = $('#canvas').width();
    HEIGHT = $('#canvas').height();

    Szerencsére ez csak egy init-ben van, de 3-szor meghívni a css selectort?
    var element = document.GetElementById("canvas")
    context = element[0].getContext('2d');
    WIDTH = element.width(); //nyilván plain js-ben nem így kell beállítani a szélességét egy elemnek, csak lusta vagyok
    HEIGHT = element.height();

    Amúgy maga ez a canvas-ban rajzolásós, játék készítés tök jó dolog, bárcsak lenne időm ilyeneket csinálni :(

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