(HTML5 Canvas,JavaScript)嗨,所以我有这个数组:
task<void>
我还有一个按钮,可以生成0到8之间的随机数:
<ContentControl Content="{Binding}" >
无论生成什么随机数,我都希望它用正确的胸部执行任务,但首先我需要一种方法将上面数组中的9个胸箱中的每一个分配给0到8的数字。这是什么最简单的方法吗?我以为我可以在阵列中单独分配每个胸部,但是我是否做错了什么,它不起作用。任何帮助将不胜感激。
答案 0 :(得分:0)
通过将项目放入数组中,您可以在以后引用它们。我不太清楚你的目的是什么,但这可能会有所帮助:
function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
var img = new Image();
img.src = "https://mdn.mozillademos.org/files/5395/backdrop.png";
var chestArr = [
{image:img,dx:150,dy:280,dWidth:200,dHeight:177},
{image:img,dx:320,dy:280,dWidth:200,dHeight:177},
{image:img,dx:490,dy:280,dWidth:200,dHeight:177},
{image:img,dx:150,dy:420,dWidth:200,dHeight:177},
{image:img,dx:320,dy:420,dWidth:200,dHeight:177},
{image:img,dx:490,dy:420,dWidth:200,dHeight:177},
{image:img,dx:150,dy:560,dWidth:200,dHeight:177},
{image:img,dx:320,dy:560,dWidth:200,dHeight:177},
{image:img,dx:490,dy:560,dWidth:200,dHeight:177}
];
chestArr.forEach(function(chest){
ctx.drawImage(chest.image, chest.dx, chest.dy, chest.dWidth, chest.dHeight);
});
}
这假设您在标记中设置了"onload=draw()"
并设置了canvas元素。
答案 1 :(得分:0)
要将数字等值赋给数组项,请使用方括号,并为要为其指定值的项的从零开始的索引使用。
例如:
const arr = ["foo", "bar", "baz"];
arr[1] = true;
//now arr contains ["foo", true, "baz"];
要将您的箱子分配到数组中,请参阅DILP's answer以了解相关方法。
在这里,您可以将true
分配给9项数组的随机项:
function randomInteger(max){
return Math.floor(Math.random()*max);
}
//create an array of undefined values of length 9
const arr = new Array(9);
//assign true to a random array item (do "something" with this random array item)
arr[randomInteger(arr.length)] = true;
console.log(arr);
&#13;