我只是做了這個小遊戲,用戶可以點擊。他可以看到他的點擊,就像'cookieclicker'一樣。Javascript遊戲
一切工作,除了一件事情。
我試圖縮短我的代碼,通過使代碼行變量,我重複了很多次。
document.getElementById("hp-bar-p").innerHTML = hp;
這很好地工作,以顯示用戶已完成的點擊。但是當我嘗試將它變成一個變量時,它不起作用。 例子:
var hpdraw = document.getElementById("hp-bar-p").innerHTML = hp;
是否有一個原因,爲什麼我不能使它成爲一個變量縮短的文本?或者我做錯了什麼?
下整個的javascript:
<style>
#clicker {
margin: 0 auto;
background-color: white;
width: 500px;
height: 500px;
}
</style>
<link rel="stylesheet" type="text/css" href="../../style.css">
<html>
<body>
<div id="clicker">
<button id="clickerbutton" onclick="onKlik()"> Click me!</button>
<p id="clicktekst"></p><br>
<p id="hp-bar-p"></p><br>
<p id="kills"></p><br>
<button id="upgrade" onclick="upgradeKlik()">upgrade</button>
</div>
</body>
</html>
<script>
var mouseclick = 1;
var clickcounter = 0;
var i = 0;
var hp = 10;
var kills = 0;
var killdraw = document.getElementById("kills").innerHTML = kills;
var hpdraw = document.getElementById("hp-bar-p").innerHTML = hp;
document.getElementById("clicktest").innerHTML = clickcounter;
document.getElementById("hp-bar-p").innerHTML = hp;
function onKlik() {
clickcounter += mouseclick;
hp -= mouseclick;
document.getElementById("clicktekst").innerHTML = clickcounter;
document.getElementById("hp-bar-p").innerHTML = hp;
if (hp<=0) {
kills ++;
hp = 10;
document.getElementById("hp-bar-p").innerHTML = hp;
document.getElementById("kills").innerHTML = kills;
// hpdraw;
// killdraw;
}
}
function upgradeKlik() {
while (i == 0 && clickcounter >= 10) {
//mouseclick += 1;
mouseclick ++;
clickcounter -= 10;
document.getElementById("clicktekst").innerHTML = clickcounter;
break;
}
}
</script>
你試圖做什麼並不完全清楚。你會用什麼'hpdraw'等?他們在你的代碼中出現的唯一地方是對他們的註釋引用,而不是對他們做任何事情。 –
你沒有在任何地方使用'hpDraw'。它有什麼意義呢? – BadHorsie
爲了縮短代碼,所以我不必每次都使用document.getElementById。我在解釋我的問題方面很糟糕,而且我正在努力改進它! – Hendry