gpt4 book ai didi

Javascript 掷骰子动画

转载 作者:行者123 更新时间:2023-11-29 16:48:40 26 4
gpt4 key购买 nike

你好,我用一个小动画制作了掷骰子功能,但最后我遇到了一个问题,因为动画没有结束:

  <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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com