【发布时间】:2014-07-28 07:11:01
【问题描述】:
我正在制作一个 HTML5 项目,用户可以在其中将多个项目拖放到画布中。我想记录这些对象在页面加载时的位置以及在画布中移动它们之后的位置。为此,我'我使用 draw 函数内的 canvas 的 save() 方法将所有这些保存在一个数组中,以存储所有上下文详细信息,因为即使在新位置绘制对象时也会调用 draw 函数。..
function draw() {
clear();
ctx.fillStyle = "#FAF7F8";
rect(0, 0, WIDTH, HEIGHT);
// redraw each rect in the rects[] array
for (var i = 0; i < rects.length; i++) {
var r = rects[i];
ctx.fillStyle = r.fill;
rect(r.x, r.y, r.width, r.height);
pos[i]= ctx.save();
}
}
我在按钮单击时调用第一个数组元素的值,以确保正确存储上下文值..
function position(){
alert("pos[0]");
}
当我运行此代码时,单击按钮时,我会在警报框中得到未定义的输出,如下图所示。...
上面代码的js小提琴是
请帮忙..
【问题讨论】:
-
我对画布没有经验,所以请记住我的建议。我正在查看 save() 方法的示例,但没有看到任何将变量设置为状态保存的示例。是否可以提醒画布的状态?也许你必须提醒一些更具体的事情。
标签: javascript html canvas coordinates