Esto es lo que obtuve hasta ahora, y no funciona en absoluto :(todas las variables son nulas en mi clase de jugador y la actualización nunca se llama.¿Cómo creo una clase en Javascript?
Me refiero a una clase de programación, no una clase CSS. IE no (.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>
Editar: Muy bien, creo que metí la pata aquí la primera vez que trataba de hacer una clase me parece que han ensuciado Después de volver a intentar.. Parece que ahora puedo usar el "1 Usando una función" en la publicación de Meders.
el verdadero problema parece ser que Javascript no sabe qué hacer cuando se llega a esta línea en mi código real:
box.style.background-position = "" + -(this.frame * this.width) + "px " + -(this.state * this.height) + "px";
También parece asfixiar cualquier momento me puse
box.style.background-color
Entonces, la pregunta que necesito responder ahora es cómo puedo establecer un valor para las variables de estilo en JavaScript que tienen un "-" en el nombre. Voy a publicar una prueba en un segundo
¿Qué no funciona? ¿Qué se supone que haga? –
todas las variables son nulas en mi clase de jugador y nunca se llama a la actualización. – William
¿Qué 'actualización'? Veo dos funciones llamadas 'actualizar'. Y estás llamando 'player.update', que no existe. –