Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE HTML>
- <html>
- <head>
- <script type="text/javascript" src="mousePos.js"></script>
- <style>
- #kevinou
- {
- border : 1px solid black;
- }
- </style>
- </head>
- <body onKeyDown='keyDown(event)' onKeyUp='keyUp(event)'>
- <div id="kevin" style="position:absolute;width:16px;height:18px;"></div>
- <script>
- t = 1;
- x = 20;
- y = 20;
- left = 0;
- right = 0;
- up = 0;
- bot = 0;
- w = 0;
- div = document.createElement('div');
- collones = 0;
- lignes = 0;
- divMapX = 0;
- divMapY = 0;
- map = new Array();
- map[0] = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); // 1 = Mur ; 0 = Case vide
- map[1] = new Array(1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1);
- map[2] = new Array(0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1);
- map[3] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1);
- map[4] = new Array(1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1);
- map[5] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[6] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[7] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[8] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[9] = new Array(1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1);
- map[10] = new Array(1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1);
- map[11] = new Array(1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1);
- map[12] = new Array(1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1);
- map[13] = new Array(1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1);
- map[14] = new Array(1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1);
- map[15] = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
- while (w < 256) // S'arrete quand sa a generé 256 cases
- {
- if (collones == 16)
- {
- collones = -1;
- lignes += 1;
- divMapY += 16; // PosY du placement de la div
- divMapX = 0;
- }
- divMapX += 16; // PosX du placement de la div;
- div[w] = document.createElement('div'); // Craie la div
- div[w].setAttribute('id', "divnumero"+w);
- div[w].style.width = "16px";
- div[w].style.height = "18px";
- div[w].style.left = divMapX ;
- div[w].style.top = divMapY ;
- div[w].style.backgroundImage = 'url("playerTileSet.png")';
- document.getElementById(div[w]).innerHTML = "A";
- /* if (0)
- {
- //div[w].style.backgroundPosition= "17px 72px";
- //div[w].style.backgroundPosition= "17px 72px";
- div[w].setAttribute('valeur', 1);
- }
- else
- {
- div[w].setAttribute('valeur', 0);
- }
- */
- w++;
- collones++;
- }
- kevin = document.getElementById('kevin');
- kevin.style.backgroundImage = 'url("playerTileSet.png")';
- gameplayLoop();
- // J'ai ptete fait des fautes de frappe, j'ai pas testé le code.
- // On considère que la position du perso est définie par les variables x et y:
- // Cette fonction va se répéter toutes les 33ms, dedans tu mets le code qui gère ton jeu (affichage, déplacement, blabla)
- function gameplayLoop()
- {
- var begin = new Date(); // Moment de début de la boucle
- kevin.style.left = x + "px";
- kevin.style.top = y + "px";
- /*
- Code du jeu à éxécuter à chaque boucle (déplacements, etc)
- */
- movePlayer(); // Cette fonction sera apellée à chaque passage de boucle (donc toutes les 33 ms) pour déplacer le personnage.
- var end = new Date(); // Moment de fin de la boucle
- delta = end.getTime() - begin.getTime(); //Delta correspond au temps que la boucle a mis à s'éxécuter. Ca permet de s'assurer que la gameplayLoop se répètera précisément toutes les 33ms
- if (delta > 33)
- {
- delta = 33;
- }
- setTimeout('gameplayLoop()', 33 - delta); // Cette ligne sert à répéter la fonction gameplayloop dans un temps egal à 33 - delta
- }
- function keyDown(event)
- {
- // Cette fonction va s'occuper d'activer une variable quand le joueur appuie sur une touche
- if (event.keyCode == 37)
- {
- left = 1; // 37 = flèche gauche
- }
- if (event.keyCode == 38)
- {
- up = 1; // 38 = flèche haut
- }
- if (event.keyCode == 39)
- {
- right = 1; // 39 = flèche droite
- }
- if (event.keyCode == 40)
- {
- bot = 1; // 40 = flèche bas
- }
- }
- function keyUp(event)
- {
- // Cette fonction va désactiver les variables quand le joueur lache une touche.
- if (event.keyCode == 37)
- {
- left = 0; // 37 = flèche gauche
- }
- if (event.keyCode == 38)
- {
- up = 0; // 38 = flèche haut
- }
- if (event.keyCode == 39)
- {
- right = 0; // 39 = flèche droite
- }
- if (event.keyCode == 40)
- {
- bot = 0; // 40 = flèche bas
- }
- }
- function movePlayer()
- {
- // Cette fonction va vérifier quelles touches sont activées et déplacer le joueur en conséquence. Par exemple:
- if (left == 1)
- {
- x -= 5;
- caractAnim("left");// Déplace le joueur de - 5 sur x (donc vers la gauche)
- }
- if (right == 1)
- {
- x += 5;
- caractAnim("right")
- }
- if (up == 1)
- {
- y -= 5;
- caractAnim("up")
- }
- if (bot == 1)
- {
- y += 5;
- caractAnim("bot")
- }
- }
- function caractAnim(p)
- {
- if (p == "left")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "15px 18px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "30px 18px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "45px 18px";
- t = 1;
- break;
- }
- }
- if (p == "right")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "18px 54px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "33px 54px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "48px 54px";
- t = 1;
- break;
- }
- }
- if (p == "up")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "1px 72px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "17px 72px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "31px 72px";
- t = 1;
- break;
- }
- }
- if (p == "bot")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "1px 36px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "17px 36px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "31px 36px";
- t = 1;
- break;
- }
- }
- }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment