Javascript掷骰子动画
Javascript roll dice animation
你好,我用一个小动画制作了掷骰子功能,但最后我有一个问题,因为动画做最后:
<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 之前有人提到过我 动漫 PNG 用于动画和死亡 PNG 用于结果,我得到了最后生成的动漫 png 间隔停止,我试图在间隔之外更改 src,但结果是一样的
尽管您已经清除了间隔,但它仍将完成最后一次运行,这将导致您的骰子再次具有动画图像。
您唯一需要做的就是在 if
语句中添加一个else
,如下所示:
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";
}
希望这有帮助
更改
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";
自
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";
}
目前,最后两行覆盖最终输出级。
if(num < 60){//Rolling dice
diece1.src = "anim" + num1 + ".png";
diece2.src = "anim" + num2 + ".png";
} else { //Results pair up?
diece1.src = "die" + d1 + ".png";
diece2.src = "die" + d2 + ".png";
diece1.src = "anim" + num1 + ".png";
diece2.src = "anim" + num2 + ".png";
clearInterval(interval);
}
怎么样?
相关文章:
- 如何在javascript中保持我的骰子总数的运行
- 掷多个骰子,保持最好的3个
- JavaScript:多个掷骰子的人,每个人都有自己的掷骰子总数
- 获取其中骰子的总和'它自己的窗口.并不是所有的窗户
- 如何在阵列中放置骰子
- 骰子掷成一排
- 点击骰子赢得't工作(javascript)
- Javascript中非常基本的骰子游戏-尝试登录'获胜'变量
- 显示掷骰子的次数
- 初学者:掷骰子:频率和如果-否则-如果
- 使用 javascript 从图像数组中更改 img 标签 src.骰子游戏
- 掷骰子直到达到数字
- Do/while 循环不计算掷骰子次数或与骰子对齐
- JavaScript 骰子游戏返回 0
- 掷骰子脚本均匀分布吗?(使用 Math.random())
- 使用输入多少次掷骰子,然后只输出最后一掷Javascript上的两个骰子的总和
- 如何一次掷一个骰子
- 如何用Jasmine编写一个随机结果的单元测试?(如掷骰子)
- Javascript掷骰子动画
- 骰子动画jQuery