我希望当海龟单选按钮被选中时,有一个被动的力量增加,就像这样:
同样在升级时,我希望它在该值上加+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级和2级时会有一个被动的强度提升1和2,以此类推。但实际结果是我不能让它正常工作。
发布于 2019-05-30 05:13:07
单选按钮不能被动地更改变量,但这可以通过编程来完成。
这是基本的代码(您应该为您的程序重新编写),演示了是否选择了海龟和海龟的级别会如何影响您的力量。当海龟被选中时,它会将数量添加到变量中,而当海龟被取消选择时,它会删除数量。
<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)
https://stackoverflow.com/questions/56368254
复制相似问题