- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,我用一个小动画制作了掷骰子功能,但最后我遇到了一个问题,因为动画没有结束:
<body>
<img id="die1" src="die1.png" width="48" height="48">
<img id="die2" src="die1.png" width="48" height="48">
<button onclick="rolldice()">roll dice</button>
<p id="result"></p>
</body>
<script>
function rolldice(){
var diece1 = document.getElementById("die1");
var diece2 = document.getElementById("die2");
var result = document.getElementById("result");
var d1 = Math.floor(Math.random() * 6) +1;
var d2 = Math.floor(Math.random() * 6) +1;
var total = d1 + d2;
var num = 0;
var interval = setInterval(function(){
num +=1;
var num1 = Math.floor(Math.random() * 8) +1;
var num2 = Math.floor(Math.random() * 8) +1;
if(num == 60){
diece1.src = "die" + d1 + ".png";
diece2.src = "die" + d2 + ".png";
clearInterval(interval);
}
diece1.src = "anim" + num1 + ".png";
diece2.src = "anim" + num2 + ".png";
}, 75);
}
</script>
所以我有 die(1-6).png 女巫用来显示女巫编号已生成,我有 anim(1-8).png 女巫我用于动画。
所以在间隔内我生成 1-8 之间的随机数,然后将 diece1 和 diece2 src 属性更改为动画女巫生成一切顺利但在动画结束时“num”达到 60 我想将 diece1 和 diece2 的 src 设置为随机生成的 d1 或 d2 中的一个为 1-6,然后调用结果图像
但最后我得到了最后一张动漫图像而不是结果图像更清晰我得到了动漫(1-8).png而不是die(1-6).png并且我在动漫pngs用于animate and die pngs 是为了结果,我得到了最后生成的动画 png 间隔停止我试图在间隔之外更改 src 但结果是相同的
最佳答案
虽然你已经清除了间隔,它仍然会完成它的最后一次运行,这将导致你的骰子再次有一个动画图像。
您唯一需要做的就是将 else
添加到您的 if
语句中,如下所示:
if(num == 60){
diece1.src = "die" + d1 + ".png";
diece2.src = "die" + d2 + ".png";
clearInterval(interval);
}else{
diece1.src = "anim" + num1 + ".png";
diece2.src = "anim" + num2 + ".png";
}
希望对你有帮助
关于Javascript 掷骰子动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221915/
我是 Java 新手,我正在尝试创建一个数组列表。 我制作了一个小程序,要求用户提供要掷的骰子数量: System.out.println("How many dices do you wan
我目前需要一些关于“简单”问题的建议。我正在构建一个游戏助手,用户可以在其中掷骰子(6 面骰子、20 面骰子等)。实际上,我只向用户显示号码。但是,为了更好用,我想在屏幕上显示骰子(例如,在带有自定义
我刚刚开始学习 Java 编程,并编写了一个程序来掷 x 面骰子 x 次。边数和卷数由用户输入定义。该程序以 JTable 格式给出每个数字的绝对频率和相对频率。一切都很顺利,直到您为侧面和卷数选择较
这段代码的用途:模拟100场CRAPS,记录第一轮输,第一轮赢,第二轮负加分,第二轮赢加分的#。 那些不熟悉掷骰子规则的人;您基本上掷两个骰子,如果结果不是 2、3 或 12 的总数,您可以再次掷骰(
所以我为龙与地下城创建了一个基本的掷骰子 dicord 机器人。 我到目前为止的代码可以掷任何类型的骰子,(例如“roll xdy”“roll 1d20”,“roll 100d100”) 当有人发送匹
我有一些关于java的问题。代码中有两个问题(我将它们作为注释留下)。另外使用设置和获取方法的目的是什么?您能简单地解释一下吗?我是初学者。谢谢:) public class Die { pri
尝试绘制 2 个骰子总和的 pmf,但出现一些右尾问题。 我尝试过使用 numpy 和其他 python 库,但问题仍然存在: import tensorflow as tf tf.enable_ea
当掷 2 个六面骰子时,最常见的结果应该是 7,而 2 和 12 是最不常见的结果。 当我执行下面的代码时,数字 12 的出现频率很高,这是错误的。 #include #include #incl
我正在尝试学习 Python 库 itertools,我认为一个好的测试是模拟掷骰子。使用 product 并使用 collections 库计算可能的方法数,很容易生成所有可能的滚动。我正在尝试解决
所以我做了这个掷骰子 100 次的方法,有 50% 的机会掷出 6。基本思想是 1 到 6 之间有 50% 的奇数和 50% 的偶数,所以如果掷出偶数,系统打印 6,否则打印 1 到 5 之间的随机数
我是 C++ 的初学者,这是家庭作业,但我卡住了。我还有一个问题,然后我就完成了。我想不出一种算法可以判断用户输入的是小直线 (1234) 还是 (2345) 还是 (3456)。我知道如何使用循环来
我是一名优秀的程序员,十分优秀!