这是我到目前为止,它根本不工作:(所有的变量在我的播放器类和null更新永远不会被调用的变量为空如何在Javascript中创建一个类?
我的意思是一个编程类,而不是一个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>
编辑:好吧,我想我搞砸了这里,我第一次尝试做一类我似乎已经搞砸后重试。我似乎现在可以在Meders post中使用“1 Using a function”了。
真正的问题似乎是,JavaScript不知道该怎么办当它到达这条线在我真正的代码:
box.style.background-position = "" + -(this.frame * this.width) + "px " + -(this.state * this.height) + "px";
这也似乎随时呛我把
box.style.background-color
所以,我现在需要回答的问题是如何设置一个值,以在JavaScript中名称中带有“ - ”的样式变量。我会后在第二
什么不行?它应该做什么? – 2010-06-13 23:21:34
我的播放器类中的所有变量均为null,并且更新永远不会被调用。 – William 2010-06-13 23:26:10
哪个'update'?我看到两个名为'update'的函数。而你正在调用'player.update',它不存在。 – 2010-06-13 23:34:26