C'est ce que j'ai obtenu jusqu'ici, et ça ne marche pas du tout :(toutes les variables sont nulles dans ma classe de joueur et la mise à jour ne m'appelle jamaisComment créer une classe en Javascript?
Je veux dire une classe de programmation, pas une classe CSS. (.movingdiv {color: # FF0000;})
<!DOCTYPE html>
<html lang="en">
<head>
<title>Class Test</title>
<meta charset="utf-8" />
<style>
body { text-align: center; background-color: #ffffff;}
#box { position: absolute; left: 610px; top: 80px; height: 50px; width: 50px; background-color: #ff0000; color: #000000;}
</style>
<script type="text/javascript">
document.onkeydown=function(event){keyDown(event)};
document.onkeyup=function(event){keyUp(event)};
var box = 0;
function Player() {
var speed = 5;
var x = 50;
var y = 50;
}
function update() {
box.style.left = this.x + "px";
box.style.top = this.y + "px";
box.innerHTML = "<h6 style=\"margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;\">X: "+ this.x + "<br /> Y: " + this.y + "</h6>";
}
var player = new Player();
var keys = new Array(256);
var i = 0;
for (i = 0;i <= 256; i++){
keys[i] = false;
}
function keyDown(event){
keys[event.keyCode] = true;
}
function keyUp(event){
keys[event.keyCode] = false;
}
function update(){
if(keys[37]) player.x -= player.speed;
if(keys[39]) player.x += player.speed;
player.update();
}
setInterval(update, 1000/60);
</script>
</head>
<body>
<div id="box" ></div>
<script type="text/javascript">
box = document.getElementById('box');
box.innerHTML = "<h6 style=\"margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;\">X: "+ player.x + "<br /> Y: " + player.y + "</h6>";
</script>
</body>
</html>
Edit: d'accord, je pense que je foiré ici La première fois que j'ai essayé de faire une classe me semble avoir foiré Après une nouvelle tentative.. Il me semble être en mesure d'utiliser maintenant le "1 Using a function" dans le post de Meders
le vrai problème semble être que le javascript ne sait pas quoi faire quand il arrive à cette ligne dans mon code réel:
box.style.background-position = "" + -(this.frame * this.width) + "px " + -(this.state * this.height) + "px";
Il semble aussi étouffer chaque fois que je mets
box.style.background-color
Donc la question que j'ai besoin de répondre maintenant est comment puis-je définir une valeur aux variables de style en javascript qui ont un "-" dans le nom. Je vais poster un test dans un second
Qu'est-ce qui ne fonctionne pas? Qu'est-ce que c'est censé faire? –
toutes les variables sont null dans ma classe de joueur et la mise à jour n'est jamais appelée. – William
Quelle mise à jour? Je vois deux fonctions nommées 'update'. Et vous appelez 'player.update', qui n'existe pas. –