如何将被动值添加到单选按钮

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (14)

我想在选择乌龟单选按钮,那里是像强度被动增加。同样在升级时我希望它为该值添加+1,因此当乌龟为2级时,被动是+2强度。

我主要想知道你如何在HTML中做被动效果。单选按钮是否具有在选择时被动修改变量的能力?我的想法类似于改变RPG中的装备。Cexp当选择单选按钮时,我还想每秒钟上升1。

这是我目前的代码:

var Turtle = 1;
var Turtlelv = 1;
var TurtleCexp = 0;
var TurtleMexp = 100;
var NextMaxTurtleExp = TurtleMexp;
var Turtlestrength = 1 + Strength

function turtlepassive() {
    if (TurtleCexp < NextMaxTurtleExp) {
        TurtleCexp = TurtleCexp + 1;
        document.getElementById("TurtleCexp").innerHTML = TurtleCexp;
    } else {
        Turtlelv = Turtlelv + 1;
        TurtleCexp = 0;
        Turtle = Turtle + 1;
        Turtlestrength = Turtlestrength + 1;
        NextMaxTurtleExp = NextMaxTurtleExp * 1.5;
        document.getElementById("Strength").innerHTML = Strength;
        document.getElementById('TurtleMexp').innerHTML = 
NextMaxTurtleExp;
        document.getElementById('Turtlelv').innerHTML = Turtlelv;
        document.getElementById('TurtleCexp').innerHTML = TurtleCexp;
        document.getElementById('Turtle').innerHTML = Turtle;
     }
}

Html代码:

<div id="turtle" class="control">
    <label class="radio">
        <input type="radio" name="Pets">
    </label>
    <img src="turtle.png" alt="turtle" height="100" width="100">Lv <span id="Magiclv">1</span> <span id="MagicCexp">0</span> / <span id="MagicMexp">100</span>
</div>

我预计,当选择乌龟单选按钮exp时,每秒上升1次,并且在级别1上有一个被动buff增强1,在第2级时增强2,依此类推。但实际结果我不能让它正常工作。

提问于
用户回答回答于

单选按钮不能被动地更改变量,但这可以通过编程方式完成。

这是基本代码(您应该为您的程序重新制作),演示如何通过选择乌龟和乌龟的等级来影响力量。选择乌龟后,它会将金额添加到变量中,当取消选择乌龟时,它会删除金额。

<div id="turtle" class="control">
  <label class="radio">
    <input type="radio" name="Pets" id="turtle-radio">
document.getElementById("turtle-radio").addEventListener("change", () => {
  if (document.getElementById("turtle-radio").checked) {
    //increase strength by level
  } else {
    //decrease strength by level
  }
}

至于随着时间的推移更新乌龟的水平,也可以这样做。让我们假设乌龟总是需要100xp才能升级。检查无线电的每一秒,它将向乌龟添加1xp并设置timeout另一个检查。当xp达到100时,让乌龟升级。如果未选中单选按钮,则timeout不应刷新。

function turtleXpUp() {
  if (document.getElementById("turtle-radio").checked) {
    setTimeout(turtleXpUp, 1000)
    //turtle xp +1
  }
  if (/* xp == 100*/) {
    if (document.getElementById("turtle-radio").checked) {
      //increase strength by 1
      //increase level by 1
    }
  }
}
document.getElementById("turtle-radio").addEventListener("change", turtleXpUp)

扫码关注云+社区

领取腾讯云代金券