Javascript 随机数组html5 java脚本 街头 var-can,ctx; var sprite=新数组(); var计数器=0; var-rot=0; var centerX=-320; var centerY=-170; var sprite=新数组(id);//数组来保存文件名 函数init(){ can=document.getElementById(“can”); ctx=can.getContext(“2d”); //将图像放入阵列 sprite[0]=document.getElementById(“b1”); sprite[1]=document.getElementById(“b2”); sprite[2]=document.getElementById(“b3”); sprite[3]=document.getElementById(“b4”); //熄灯 draw(); //等待3秒,然后开始动画 var t=设置超时(灯,30); } 功能灯(){ var-wait=600; 计数器++; 如果(计数器==4){ 计数器=0; wait+=(Math.random()*1500); rot+=0.01; } draw(); 设置超时(灯,等待); } 函数绘图(){ ctx.clearRect(0,0,罐宽,罐高); ctx.save(); ctx.translate(can.width/2,can.height/2); ctx.drawImage(精灵[计数器]、centerX、centerY); ctx.restore(); } 函数choseRandom(范围){ 如果(数学随机) 返回Math.round(Math.random()*(range-1)); 否则{ var now=新日期(); 返回(now.getTime()/1000)%range; } } var choice=choseRandom(id); 函数播放(){ var audio=document.getElementById(“音频”); 音频播放(); } 书面文件(“”);
由于堆栈溢出,上述代码可以正常工作 基本上,目前这段代码以非随机的顺序显示图像,它使用数组获取图像并显示它们。然后,该代码调节图像显示的速度。还有一个声音播放器和一个带有声音的按钮 经过大量的搜索,我成功地制作了一个简单的png文件序列的动画。然而,我一直在尝试广告开始停止按钮和一个数学随机函数(最好是音乐点击将启动一切) 我想向数组中添加一个随机函数,以便它随机显示图像。然而,我能做的最好的事情是,不要停止代码,或者得到的是加速动画。有人可以修改我的代码来添加这些函数吗?或者请给我指出一些有帮助的地方 随机数组将非常有用。(出现错误,已更新) 比如说,Javascript 随机数组html5 java脚本 街头 var-can,ctx; var sprite=新数组(); var计数器=0; var-rot=0; var centerX=-320; var centerY=-170; var sprite=新数组(id);//数组来保存文件名 函数init(){ can=document.getElementById(“can”); ctx=can.getContext(“2d”); //将图像放入阵列 sprite[0]=document.getElementById(“b1”); sprite[1]=document.getElementById(“b2”); sprite[2]=document.getElementById(“b3”); sprite[3]=document.getElementById(“b4”); //熄灯 draw(); //等待3秒,然后开始动画 var t=设置超时(灯,30); } 功能灯(){ var-wait=600; 计数器++; 如果(计数器==4){ 计数器=0; wait+=(Math.random()*1500); rot+=0.01; } draw(); 设置超时(灯,等待); } 函数绘图(){ ctx.clearRect(0,0,罐宽,罐高); ctx.save(); ctx.translate(can.width/2,can.height/2); ctx.drawImage(精灵[计数器]、centerX、centerY); ctx.restore(); } 函数choseRandom(范围){ 如果(数学随机) 返回Math.round(Math.random()*(range-1)); 否则{ var now=新日期(); 返回(now.getTime()/1000)%range; } } var choice=choseRandom(id); 函数播放(){ var audio=document.getElementById(“音频”); 音频播放(); } 书面文件(“”);,javascript,html,Javascript,Html,由于堆栈溢出,上述代码可以正常工作 基本上,目前这段代码以非随机的顺序显示图像,它使用数组获取图像并显示它们。然后,该代码调节图像显示的速度。还有一个声音播放器和一个带有声音的按钮 经过大量的搜索,我成功地制作了一个简单的png文件序列的动画。然而,我一直在尝试广告开始停止按钮和一个数学随机函数(最好是音乐点击将启动一切) 我想向数组中添加一个随机函数,以便它随机显示图像。然而,我能做的最好的事情是,不要停止代码,或者得到的是加速动画。有人可以修改我的代码来添加这些函数吗?或者请给我指出一些有帮
<!-- with thanks to http://stackoverflow.com/questions/25407926/spawn-random-images-
in-canvas-in-javascript-->
<!--http://www.freesfx.co.uk/download/?type=mp3&id=11028
--audio loader--
http://stackoverflow.com/questions/18826147/javascript-audio-play-on-
click-->
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<title>Street</title>
<script type="text/javascript">
var can, ctx;
var sprite = new Array();
var counter = 0;
var rot = 0;
var centerX = -320;
var centerY = -170;
var sprite = new Array(id); // Array to hold the filenames
function init() {
can = document.getElementById("can");
ctx = can.getContext("2d");
// get images into array
sprite[0] = document.getElementById("b1");
sprite[1] = document.getElementById("b2");
sprite[2] = document.getElementById("b3");
sprite[3] = document.getElementById("b4");
// draw lights out
draw();
// wait 3 sec, then begin animation
var t = setTimeout(light, 30);
}
function light() {
var wait = 600;
counter++;
if (counter == 4) {
counter = 0;
wait += (Math.random() * 1500);
rot += .01;
}
draw();
setTimeout(light, wait);
}
function draw() {
ctx.clearRect(0, 0, can.width, can.height);
ctx.save();
ctx.translate(can.width / 2, can.height / 2);
ctx.drawImage(sprite[counter], centerX, centerY);
ctx.restore();
}
function choseRandom(range) {
if (Math.random)
return Math.round(Math.random() * (range-1));
else {
var now = new Date();
return (now.getTime() / 1000) % range;
}
}
var choice = choseRandom(id);
</script>
</head>
<body onload="init()">
<audio id="Mp3Me" autoplay autobuffer controls>
<source src="au1.mp3">
<source src="au1.ogg">
</audio>
<img id="b1" style="display:none" src="1.png" >
<img id="b2" style="display:none" src="2.png" >
<img id="b3" style="display:none" src="3.png" >
<img id="b4" style="display:none" src="4.png" >
<canvas class="canvas" id="can" width="640" height="350" style=" border:1px solid #6F2E0D; ">
</canvas>
<script>
function play(){
var audio = document.getElementById("audio");
audio.play();
}
</script>
<input type="button" value="PLAY" onclick="play()">
<audio id="audio" src="door.mp3" ></audio>
<div id="container"></div>
<script language="JavaScript">
document.writeln('<td' + '><img src="'
+ ranimage[choice] + '" height="180" width="160" border="0" ><' +
'/td>');
</script>
<div id='container'>
<img id = "image2" src='door.png' />
</body>
</html>
var数组=[1,2,3,4,5]
for(i=0;我洗牌
演示:
代码
var array = [1,2,3,4,5]
for(i=0; i<array.length;i++){
var dist = Math.floor( Math.random() * array.length )
var swp = array[i]
array[i] = array[dist]
array[dist] = swp
}
console.log(array) //=> shuffled
示例…
我很喜欢阅读代码,console.log(array)/=>shuffled是什么意思,这像是检查它是否被洗牌吗?我会尝试插入:)没什么。它只是说数组在for块之后已经被洗牌了。我很喜欢阅读代码,很好的演示,我会尝试插入它:)顺便说一句,
~
几乎就像Math.floorHmm尝试这个,函数洗牌(arr){arr.forEach(函数(e,I){var rand=~(Math.random()*(arr.length-1));arr[I]=arr[rand];arr[rand]=e;});}var sprite=[0,1,2,3,];洗牌(精灵);我需要调用它?是的调用shuffle(精灵)代码>干杯乔里奥:)它看起来漂亮整洁。
function shuffle (arr) {
arr.forEach(function(e,i){
var rand = ~~(Math.random()*(arr.length-1));
arr[i] = arr[rand];
arr[rand] = e;
});
}
var myArr = [1,2,3,4,5];
shuffle(myArr); //myArr is now shuffled!