Я пытаюсь создать подходящую игру. Я создал левый и правый тд с элементами, которые должны быть сопоставлены. Средний тд содержит холст.Найти координаты X и Y каждого изображения в ячейке таблицы
Когда есть правильное совпадение, я хотел бы нарисовать линии на холсте в соответствии с элементами. Для этого мне нужны координаты каждого изображения, а затем сделайте их соответственно на холсте. Ниже приводится иллюстрация
Красных представляет тд Green представляет линию Я хотел бы обратить
Существуют не так много проблем с координатой х, потому что я просто взять ширину (300px) (от 0 до 300), но это координата y, которая является проблемой.
Идея у меня есть
Найти координату из picture1
Добавить половину точек в picture1 так, что он находится в 'центре' в picture1
Do то же самое для изображения2
Рисование линии с использованием этих координат
Есть ли способ найти координату y изображения в таблице, потому что она одинаково совпадает с координатой y на холсте?
HTML
<table class="first">
<tr>
<td>
<ul class="firstleft"></ul>
</td>
<td>
<canvas id="myCanvas" resize></canvas>
</td>
<td>
<ul class="firstright"></ul>
</td>
</tr>
</table>
CSS
table {
margin-left: auto;
margin-right: auto;
}
table ul {
list-style-type: none;
margin-left: 50px;
padding: 0;
padding-left: 5px;
width: 200px;
}
JS
var canvas = document.getElementById('myCanvas');
ctx = canvas.getContext("2d")
ctx.lineWidth = 6;
ctx.strokeStyle = "#333";
/* Drawing part using an example*/
ctx.beginPath();
ctx.moveTo(100, 250);
ctx.bezierCurveTo(150, 100, 350, 100, 400, 250);
ctx.stroke();
Вы должны назвать свою игру «Груша Match», получить Это? ; D –
HAHA. Да, я назвал это изначально. Интересно, почему я изменил его: D – CHEWWWWWWWWWW
Если вы можете получить размер всех изображений (или всех ячеек), вы можете вычислить координату y, зная, в какой ячейке вы находитесь. Пример: если ячейка A имеет высоту 100 пикселей , а ячейка B под 100px, если верхняя часть холста совпадает с верхней частью таблицы, координата y для ячейки B будет (A + B) - (B/2) или 150px. – fredrover