【发布时间】:2015-01-15 19:09:56
【问题描述】:
我想创建一个需要动画的游戏:首先应该在 5 秒后绘制一个矩形,在 5 秒后绘制第二个矩形,在 5 后绘制第三个,在 5 后绘制第四个,4s 后绘制 6-10 个矩形, 10-15 3s 后 rect, 15-20 2s 后 rect 和 20-25 1 s 后 rect。矩形来自上方,应该以称为recty 的速度运行到底部。也许这会有所帮助:jsfiddle。
var x = canvasWidth / 100;
var y = canvasHeight / 100;
b = 5000;
function init() {
recty = canvasHeight / 100 * 20;
rectx = (Math.random() *(x * 50)) + (x / 5);
rectb = (Math.random() * (x * 40)) + x * 20;
return setInterval(main_loop, 10);
}
function draw() {
rectheight = canvasHeight / 100 * 10;
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
// draw triangles
ctx.beginPath();
ctx.moveTo(x * 90, y * 50);
ctx.lineTo(x * 99, y * 60);
ctx.lineTo(x * 99, y * 40);
ctx.closePath();
ctx.stroke();
}
function drawrect() {
// draw rect
ctx.beginPath();
fillStyle = "#000000";
ctx.rect(rectx, recty, rectb, rectheight);
ctx.fill();
}
function update() {
recty += 1;
if (recty > canvasHeight) {
recty = -rectheight;
rectx = (Math.random() *(x * 50)) + (x / 5);
rectb = (Math.random() *(x * 50)) + (x / 5);
b -=1000;
}
if (recty > canvasHeight) {
recty -= 1;
}
}
function main_loop() {
draw();
update();
collisiondetection();
drawrect();
}
init();
setInterval ( drawrect, b );
【问题讨论】:
-
你的问题是什么?
-
在上述时间后绘制一个新的矩形,从上到下
标签: javascript html animation canvas