【发布时间】:2021-03-27 11:34:47
【问题描述】:
我正在开发一款游戏。为此,我有几张图像(图块)相互重叠,以便获得透视。问题是当我尝试单击其中一个图块时。由于它们是重叠的,当单击一个时,它是另一个接收事件的图像。如何忽略对图像透明部分的点击?
【问题讨论】:
-
这里有两个问题,所以两个解决方法 1) 给所有图像一个公共标识符,每个图像一个唯一标识符类或 Id 什么的。然后在图像/通用标识符上使用点击事件检查事件目标是否具有您想要继续的唯一标识符 - 如果这样那样这样做,否则这样做。
-
你不能点击图片的部分,这不是点击事件的工作原理。
-
2) 对于透明的,您需要进行计算假设您的图像是 200x200 并且只有居中的 100x100 是彩色的,那么您需要确定在图像上发生点击的位置,因为满足上述 no1 和脚本收益。现在那是一大堆混乱
-
我不会挑衅地尝试交叉点观察器,因为它提供了执行上述计算所需的功能developer.mozilla.org/en-US/docs/Web/API/…
-
我知道可靠地做你想做的事情的唯一方法是使用 canvas/dataurl 并检查点击的坐标是否在图像的透明部分上。如果是,请忽略它并转到下一张图片。
标签: html css reactjs click tile