gpt4 book ai didi

canvas - 我们如何从onClick事件中获取鼠标 Canvas 的相对x,y坐标?

转载 作者:行者123 更新时间:2023-12-03 02:58:58 26 4
gpt4 key购买 nike

我从https://github.com/sethladd/bad-aliens-dart/blob/master/web/Game.dart找到了以下代码:

    ClientRect rect = ctx.canvas.getBoundingClientRect();
clientBoundingRect = new GamePoint(rect.left, rect.top);
...
GamePoint getXandY(e) {
num x = e.clientX - clientBoundingRect.x - (ctx.canvas.width/2);
num y = e.clientY - clientBoundingRect.y - (ctx.canvas.height/2);
return new GamePoint(x, y);
}

我已经测试过,但无法计算出鼠标在 Canvas 中的正确位置。

最佳答案

CanvasElement.getBoundingRect()现在返回Rect而不是ClientRect。否则,该代码对我来说似乎可以正常工作。

更新:请注意,Bad Aliens将原点放置在Canvas的中心。也许您想将其留在左上方?如果是这样,请不要减去 Canvas 尺寸的一半:

GamePoint getXandY(e) {
num x = e.clientX - clientBoundingRect.x;
num y = e.clientY - clientBoundingRect.y;
return new GamePoint(x, y);
}

关于canvas - 我们如何从onClick事件中获取鼠标 Canvas 的相对x,y坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com