簡體   English   中英

var1 每加 1,var2 加 1

[英]For every 1 added to var1, add 1 to var2

我目前正在開發一款增量游戲Gold Rush ,並試圖創建一個總的金幣賺取值,該值存儲用戶在整個游戲中獲得的所有金幣,包括花費的金幣。 到目前為止,我已經說過,每次玩家通過點擊或增量器賺取金幣時,它都會增加價值。 隨着游戲變得越來越復雜,我發現這變得越來越難,我正在嘗試制作一個 function,每次它向黃金變量添加 1 時,它都會向 totalGold 變量添加 1。 到目前為止,我已經嘗試過:

if (gameData.gold + 1) {
   gameData.totalGold + 1;
}

增量利潤是這樣收集的

function goldPerSecond() {
  return gameData.pickaxeGold + gameData.dwarfGold + gameData.gooseGold + gameData.mineGold + gameData.dragonGold + gameData.stoneGold + gameData.stationGold + gameData.leprechaunGold + gameData.sheepGold + gameData.rayGold + gameData.mergerGold;
}

而點點滴滴的利潤就這樣聚集起來

function collectGold() {
  gameData.gold += gameData.clickinGold
  gameData.clicks += 1
  gameData.totalGold += gameData.clickinGold
}

我對 JavaScript 還很陌生,不知道有什么其他方法可以做到。 如果我不必使用 JQuery 會更好。 謝謝你。

我認為你應該在每個金塊上都有一個點擊事件,當點擊時,它應該調用一個 function 加 1,它應該看起來像這樣:

 function addGold() { gameData.totalGold++; // Stands for: gameData.totalGold = gameData.totalGold + 1; (New Value = old value + 1) } // A click event for each gold piece, upon clicking, we call the `addGold` to increase the total elem.addEventListener('click', function() { addGold(); });

不確定這是否是您要查找的內容,或者我誤解了您。 在 Codepen 或 JSBin 或任何替代品上進行現場演示將是最好的幫助您!

解決此問題的一種方法是向gold屬性注冊一個偵聽器,這樣每次遞增時, totalGold屬性也會隨之增加。 這是一個如何使用 vanilla JS 工作的示例:

 gameData = { goldInternal: 0, goldListener: function(val) {}, totalGold: 0, set gold(val) { this.aInternal = val; this.goldListener(); }, get gold() { return this.goldInteral; }, registerGoldListener: function(listener) { this.goldListener = listener; } } gameData.registerGoldListener(() => { gameData.totalGold += 1; }); gameData.gold += 1; console.log(gameData.totalGold); gameData.gold += 1; console.log(gameData.totalGold);

請注意,我引用了這個較早的 SO 帖子

通常我會把它放在評論中,但我還不能評論,所以這就是我認為你應該做的。

正如你所說,添加到總金幣是乏味的,所以取而代之的是,創建一個添加金幣的 function,像這樣

function addGold(gold) {
  gameData.gold = gameData.gold + gold;
  gameData.totalGold = gameData.totalGold + gold
}

因此,每當您必須添加黃金時,您只需說addGold(1)或將1替換為您想要添加的任何黃金數量,並且黃金將被添加到當前黃金和總黃金中

暫無
暫無

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

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