2013-04-26 13 views
5

Zeit ein Spiel entwerfen und die Idee ist, dass von einer hohen Punktzahl, so dass, wenn die aktuelle Punktzahl mehr als die lokale Speicherung ist man es ersetzt:eine Variable im lokalen Speicher Einstellung

localStorage.setItem('highScore', highScore); 
var HighScore = localStorage.getItem('highScore'); 
if (HighScore == null || HighScore == "null") { 
    HighScore = 0; 
} 

if (user.points > HighScore) { 
    highScore = parseInt(HighScore); 
} 
return highScore 

Danke Jungs

+2

Was ist Ihre Frage? – nullability

+0

Wie kann ich es reparieren, weil es nicht funktioniert? –

+0

define funktioniert nicht –

Antwort

10

Dies sollte Sie in die richtige Richtung weisen.

// Get Item from LocalStorage or highScore === 0 
var highScore = localStorage.getItem('highScore') || 0; 

// If the user has more points than the currently stored high score then 
if (user.points > highScore) { 
    // Set the high score to the users' current points 
    highScore = parseInt(user.points); 
    // Store the high score 
    localStorage.setItem('highScore', highScore); 
} 

// Return the high score 
return highScore; 
1

Hier ist ein Beispiel für das, was ich denke, Sie versuchen zu erreichen. Natürlich ist dies nur ein Beispiel und nicht der für Sie geschriebene Code.

<button id="save10">Save 10</button> 
<button id="save12">Save 12</button> 

var highscore = 11, 
    button10 = document.getElementById("save10"), 
    button12 = document.getElementById("save12"), 
    savedHighscore; 

function saveData(x) { 
    localStorage.setItem('highscore', x); 
} 

button10.addEventListener("click", function() { 
    saveData(10); 
}, false); 

button12.addEventListener("click", function() { 
    saveData(12); 
}, false); 

savedHighscore = parseInt(localStorage.getItem('highscore'), 10); 
if (typeof savedHighscore === "number" && highscore < savedHighscore) { 
    highscore = savedHighscore; 
} 

alert("Highscore: " + highscore); 

Auf jsfiddle

die Tasten die Highscore setzen, entweder 10 oder 12 Seite aktualisieren, oder drücken Sie run (simuliert nur einen Refresh). Der Benutzer erhält immer 11 und es wird entweder 11 oder 12 abhängig vom gespeicherten Highscore alarmiert.

Verwandte Themen