[英]How do I change a variables data value in external .js file?
因此,我正在開發一個游戲,現在正在嘗試制作一個關卡選擇器。 但是我只希望玩家能夠打敗他們。 因此,我有一個標記為“ ELD.js”的.js文件,其中包含:
var Levels = 0;
我真的不在乎如何(在編程類型方面)。 但是我希望每次贏得級別時都能夠更改“級別”數據值。 每個級別都有自己的單獨html文件,所有級別文件都與“ ELD.js”文件位於同一文件中。
我一直在尋找答案,但是似乎沒有一個能滿足我的需求。
當我在這個主題上時(如果我錯了,請糾正我),但是我可以使用此權限簡單地測試“級別”數據值嗎?
<script type="text/javascript" src="ELD.js"></script>
<script>
if(Levels =< X)
{
}
</script>
X只是代表一個未定義的數字,我將在以后選擇。
您可以將javascript文件構建為一個類,然后將該變量分配給該類,例如:
class GameLevel {
constructor (level) {
this.level = level;
}
get_level () {
return this.level;
}
set_level (level) {
this.level = level;
}
}
然后,在整個游戲中,您都有自己的對象:
var cur_level = 1;
var level = new GameLevel (cur_level);
然后在打敗一場比賽后,您只需致電
level.set_level (++cur_level)
我相信您甚至可以說level.level = cur_level + 1;
編輯
另外,因為您希望將javascript數據傳遞到另一個html文件,所以也可以通過該傳遞給您。 您可以使用以下邏輯:
這就像是一種奇怪的方法,但是我相信它可以工作:)要執行此操作,請運行以下代碼:
var newLevel = window.open (<URL TO HTML FILE>, '_blank');
// passing thejavascript data
newLevel.new_level = level.get_level ; // This is the data to pass or you can use the variable you had declared
// focus on new window
newLevel.focus ();
// close current window
window.close ();
編輯
然后在所有的html文件中,您可以使用window.new_level
獲取新級別數據的值。打開窗口時,將設置您傳遞的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.