這是我到目前爲止,它根本不工作:(所有的變量在我的播放器類和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