<!DOCTYPE html> <html lang="cs"> <head> <meta charset="utf-8" /> <title>Auto</title> <style> #parkoviste { width: 500px; height: 500px; background-color: gray; position: absolute; } #auticko{ transform: rotate(152deg); width: 100px; height: 50px; background-color: transparent; background-size: cover; background-image:url('auto.svg'); position: relative; left: 250px; top: 250px; } </style> </head> <body> <div id="parkoviste"> <div id="auticko"></div> </div> <button onclick="otocSe()">Otoc se</button> <script> /* <![CDATA[ */ /* Sem prijde javascript kod */ var autickoX = 250 var autickoY = 250 var autickoRychlost = 1 var autickoUhel = 140 //ve stupnich var autickoStisknutoDoleva = false var autickoStisknutoDoprava = false var autickoStisknutoNahoru = false var autickoStisknutoDolu = false var autickoStisknutoBrzda = false function otocSe(smer){ if(smer){ autickoUhel += 1 } else { autickoUhel -= 1 } } function stiskKlavesy(udalost){ if (udalost.code == "KeyA"){ autickoStisknutoDoleva = true } else if (udalost.code == "KeyD"){ autickoStisknutoDoprava = true }else if (udalost.code == "KeyW"){ autickoStisknutoNahoru = true }else if (udalost.code == "KeyS"){ autickoStisknutoDolu = true }else if (udalost.code == "KeyX"){ autickoStisknutoBrzda = true } } function odtiskKlavesy(udalost){ if (udalost.code == "KeyA"){ autickoStisknutoDoleva = false } else if (udalost.code == "KeyD"){ autickoStisknutoDoprava = false }else if (udalost.code == "KeyW"){ autickoStisknutoNahoru = false }else if (udalost.code == "KeyS"){ autickoStisknutoDolu = false }else if (udalost.code == "KeyX"){ autickoStisknutoBrzda = false } } document.body.addEventListener("keydown", stiskKlavesy); document.body.addEventListener("keyup", odtiskKlavesy); function pohniSe(){ // ovlivnovani klavesami if(autickoStisknutoDoleva){ otocSe(false) } if(autickoStisknutoDoprava){ otocSe(true) } if(autickoStisknutoNahoru){ autickoRychlost+=0.1 } if(autickoStisknutoDolu){ autickoRychlost-=0.05 } if(autickoStisknutoBrzda){ autickoRychlost-=0.2 if(autickoRychlost < 0){ autickoRychlost=0 } } autickoX += Math.sin(((90-autickoUhel)/180)*Math.PI) * autickoRychlost autickoY += Math.sin(((autickoUhel)/180)*Math.PI) * autickoRychlost //console.log(autickoX + "," + autickoY) document.getElementById('auticko').style.transform = "rotate("+autickoUhel+"deg)" document.getElementById('auticko').style.top = autickoY+"px" document.getElementById('auticko').style.left = autickoX+"px" } setInterval(pohniSe, 1000 / 60) /* ]]> */ </script> </body> </html>