簡體   English   中英

使用localStorage存儲數值

[英]Using localStorage to store numerical value

我正在嘗試使用localStorage來保存基於HTML5的游戲中玩家健康值,並且當HP值低於0時,什么也不會發生。

<!--Calling Statement-->
<ul>
    <li><a href="../S5/S5.html" onclick="alterHP(-3);"
        class="ghost-button">Go on to the next scene</a></li>
</ul>

在單獨的.js文件中

function declareHP() {
    if (typeof (Storage) !== "undefined") {
        localStorage.setItem("HP", "20");
    } else {
        /*Can't Store, Oh well*/
    }
}

function alterHP(value) {
    if (typeof (Storage) !== "undefined") {
        var currentHP = parseInt(localStorage.HP);
        localStorage.HP = currentHP + value;
        if (!(parseInt(localStorage.HP) > 0)) {
            window.location.assign('../youLose.html');          
        }
    }
}

如果你換線

var currentHP = parseInt(localStorage.HP);

var currentHP = localStorage.HP ? parseInt(localStorage.HP) : 0;

它會工作


你可以這樣

function alterHP(value) {
    if (typeof (Storage) !== "undefined") {
        localStorage.HP = (localStorage.HP ? parseInt(localStorage.HP) : 0) + value;
        if (!(parseInt(localStorage.HP) > 0)) {
            window.location.assign('../youLose.html');          
        }
    }
}
function setterfunc(targetedelement, presetting) {
    if(localStorage.getItem(targetedelement) == undefined) {
        localStorage.setItem(targetedelement, presetting);
    }
}
setterfunc('HP', 0);

現在您可以運行腳本,基於注釋,您尚未初始化值localStorage.HP即可初次使用。現在您可以運行腳本。

/*Function*/
function alterHP(value) {
if (typeof (Storage) !== "undefined") {
        var currentHP = parseInt(localStorage.getItem("HP"));
        localStorage.setItem("HP", currentHP + value);
        if (!(parseInt(localStorage.getItem("HP") > 0)) {
            window.location.assign('../youLose.html');          
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM