JavaScript Easy Game - Chyba v kode

Programovacie jazyky, rady, poradňa...
4chan
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 20
Registrovaný: 01 mar 2016, 14:19
Bydlisko: Hegridová Chatrč

JavaScript Easy Game - Chyba v kode

Príspevok od používateľa 4chan »

nejde mi moja JS hra neviem kde je chyba.

Kód: Vybrať všetko

<!DOCTYPE HTML>
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title></title>
 
  <style>
  #hero{
  background:red;
  width:20px;
  height:20px;
  position:absolute;
        
  }
  </style>
  
  </head>
  
  
  <body>
  
  <div  id = "hero"></div>
  
  
  <script>
  var HERO_MOVEMENT = 5;
  var lastLoopRun = 0;
  var LEFT_KEY = 37;
  var UP_KEY = 38;
  var RIGHT_KEY = 40;
  var hero = new Object();
  hero.element = "hero";
  hero.x = 250;
  hero.y = 460;
  hero.w = 20;
  
  var controller = new Object();
  function handleControls(){
   if (controller.up){
     hero.y -= HERO_MOVEMENT;
   }
   if (controller.down){
     hero.y += HERO_MOVEMENT;
   
   }
   if (controller.left){
    hero.x -=HERO_MOVEMENT;
   
   }
   if (controller.right) {
    hero.x +=HERO_MOVEMENT;
   
   }
  }
  function showSprites(){
    setPosition(hero);
  
  }
  function loop(){
    if (new Date().getTime() - lastLoopRun > 40){
     handleControls();
     showSprites();
     lastLoopRun = new Date().getTime();
     
    
    
    }
    setTimeout("loop();",2);
  }
  
  function setPosition(sprite){
  var e = document.getElementById(sprite.element);
  e.style.left = sprite.x + "px";
  e.style.top = sprite.y + "px";
  
  }
  
  function togglekey(KeyCode, isPressed){
  if (KeyCode == LEFT_KEY){
    controller.left = isPressed;  
  }
   if (KeyCode == RIGHT_KEY){
   controller.right = isPressed; 
   
   }
   if (KeyCode == UP_KEY){
    controller.up = isPressed;
   
   }
    if (KeyCode == DOWN_KEY){
     controller.down = isPressed;
    
    } 
   
   
  
  }
  
  
  loop();
  
  document.onkeydown = function(evt){
  togglekey(evt.KeyCode,true);
  
  
  
  } ;
  
  document.onkeyup = function (evt){
  togglekey(evt.KeyCode,false);
  }
                                                                                 
  
  
  </script>
  </body>
  
  
  
  
</html>
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa *****HERO***** »

nikde nevidim popis chyby
4chan
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 20
Registrovaný: 01 mar 2016, 14:19
Bydlisko: Hegridová Chatrč

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa 4chan »

sorry zabudol som. tomuto sa nedá povedať hra ,ale iba taká "arrow key ovládačka". chyba je tam že hero by sa mal hýbať a nehýbe sa :D.
Frikso
Darca
Darca
Používateľov profilový obrázok
Príspevky: 4777
Registrovaný: 07 mar 2006, 19:09

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa Frikso »

*****HERO***** napísal:nikde nevidim popis chyby
Počuješ? Máš sa hýbať :P
4chan
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 20
Registrovaný: 01 mar 2016, 14:19
Bydlisko: Hegridová Chatrč

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa 4chan »

XDDDD náhoda ? myslím že nie :D :D :D
aacid
Hardcore addict
Hardcore addict
Príspevky: 8135
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa aacid »

ked si to otvoris v chrome, das pravym inspect element, tak v zalozke Sources vies normalne debugovat, davat breakpointy a pekne postupne zistis co sa deje.

hned zistis ze evt.KeyCode neexistuje, pretoze je to evt.keyCode. tiez DOWN_KEY nemas nikde zadefinovane.

neviem ci to vyriesi vsetky tvoje problemy, ale je to slusny zaciatok :)
4chan
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 20
Registrovaný: 01 mar 2016, 14:19
Bydlisko: Hegridová Chatrč

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa 4chan »

opravil som tie chyby ale na ďalšie neviem prísť, ale teraz do konzole nepíše nič vtedy tam písalo chyby. neviem pozrel som to niekoľko krát ale nič som nenašiel.

aktuálny kod :

Kód: Vybrať všetko

<!DOCTYPE HTML >
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  
  <title>test</title>
 
  <style>
  #hero{
  background:red;
  width:20px;
  height:20px;
  
        
  }
  </style>
  
  </head>
  
  
  <body>
  
  <div  id = "hra1"></div>
  
  
  <script>
  var HERO_MOVEMENT = 5;
  var lastLoopRun = 0;
  var LEFT_KEY = 37;
  var UP_KEY = 38;
  var RIGHT_KEY = 39;
  var DOWN_KEY = 40;
  var hero = new Object();
  hero.element = "hero";
  hero.x = 250;
  hero.y = 460;
  hero.w = 20;
  
  var controller = new Object();
  function handleControls(){
   if (controller.up){
     hero.y -= HERO_MOVEMENT;
   }
   if (controller.down){
     hero.y += HERO_MOVEMENT;
   
   }
   if (controller.left){
    hero.x -=HERO_MOVEMENT;
   
   }
   if (controller.right) {
    hero.x +=HERO_MOVEMENT;
   
   }
  }
  function showSprites(){
    setPosition(hero);
  
  }
  function loop(){
    if (new Date().getTime() - lastLoopRun > 40){
     handleControls();
     showSprites();
     lastLoopRun = new Date().getTime();
     
    
    
} setTimeout("loop();",2); }

  function setPosition(sprite){
  var e = document.getElementById(sprite.element);
  e.style.left = sprite.x + "px";
  e.style.top = sprite.y + "px";
  
  }
  
  function togglekey(keyCode, isPressed){
    if (keyCode == LEFT_KEY){
     controller.left = isPressed;  
  }
    if (keyCode == RIGHT_KEY){
     controller.right = isPressed; 
   
   }
    if (keyCode == UP_KEY){
     controller.up = isPressed;
   
   }
    if (keyCode == DOWN_KEY){
     controller.down = isPressed;
    
    } 
   
   
  
  }
  
  
  loop();
  
  document.onkeydown = function(evt){
  togglekey(evt.keyCode,true);
  
  
  
  } ;
  
  document.onkeyup = function (evt){
  togglekey(evt.keyCode,false);
  }
                                                                                 
  
  
  </script>
  </body>
  
  
  
  
</html>
aacid
Hardcore addict
Hardcore addict
Príspevky: 8135
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa aacid »

ako je mozne ze tebe nepise ziadne chyby, ked mne hej?

ak by si opravil len to co som napisal ja, tak ti to pojde. ty si ale zrusil z css position:absolute, zmenil si nazov divu ale nezmenil ho v skripte... jasne ze ti to nejde potom.

tu je navod ako debugovat, pokial si to nikdy nerobil, doporucujem naucit sa, vdaka tomu hned vidis co program robi a preco nefunguje tak ako si predtavujes:
https://developer.chrome.com/devtools/d ... -debugging
4chan
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 20
Registrovaný: 01 mar 2016, 14:19
Bydlisko: Hegridová Chatrč

Re: JavaScript Easy Game - Chyba v kode

Príspevok od používateľa 4chan »

dk super :). ide to. posledná chybička,ako si napísal bola v css position:absolute že tam chýbalo . thx
Napísať odpoveď