首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何向单选按钮添加被动值

如何向单选按钮添加被动值
EN

Stack Overflow用户
提问于 2019-05-30 04:45:22
回答 1查看 149关注 0票数 -1

我希望当海龟单选按钮被选中时,有一个被动的力量增加,就像这样:

同样在升级时,我希望它在该值上加+1,因此当乌龟处于2级时,被动强度为+2。

我主要想知道你是如何在HTML中做被动效果的。单选按钮在选中时是否具有被动修改变量的能力?我的想法类似于在RPG中换档。我还希望Cexp在单选按钮被选中时每秒递增1。

下面是我当前的代码:

代码语言:javascript
复制
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代码:

代码语言:javascript
复制
<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级和2级时会有一个被动的强度提升1和2,以此类推。但实际结果是我不能让它正常工作。

EN

回答 1

Stack Overflow用户

发布于 2019-05-30 05:13:07

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

这是基本的代码(您应该为您的程序重新编写),演示了是否选择了海龟和海龟的级别会如何影响您的力量。当海龟被选中时,它会将数量添加到变量中,而当海龟被取消选择时,它会删除数量。

代码语言:javascript
复制
<div id="turtle" class="control">
  <label class="radio">
    <input type="radio" name="Pets" id="turtle-radio">
代码语言:javascript
复制
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不应该刷新。

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56368254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档