javascript - HTML5 Canvas - Cinema Seating Plan,试图让选择的座位变成绿色和红色的座位不可用

标签 javascript css html canvas

我正在尝试为我尝试在 HTML5 Canvas 中开发的电影网站创建座位表。 到目前为止,您可以在下面看到我所拥有的。

我想做的是有一个鼠标悬停功能,这样当它接触到一个灰色方 block 时,座位就会变成绿色,当你将鼠标悬停在一个红色座位上时,会出现一条消息,说明该座位不可用。

如果有人能帮我解决这个问题,我将不胜感激,因为我正在拔头发!

谢谢磨坊,

劳伦:)

enter image description here

部分代码:

enter image description here

[代码 2][3]

最佳答案

这一定是很多工作,分别绘制每个座位!由于要处理这么多硬编码位置,捕捉鼠标移动会很困难,但如果您将它们画成一个循环,您将更容易与座位互动,如下所示:

var row, seat;
for (row = 0; row < maxRows; row += 1) {
    for(seat = 0; seat < seatsPerRow; seat += 1) {

        if (mouseIsOnSeat(row, seat)) {
            ctx.fillStyle = 'green';
        } else if (seatIsReserved(row, seat)) {
            ctx.fillStyle = 'red';
        } else {
            ctx.fillStyle = 'grey';
        }

        // Draw the seat position here
        // (you can account for the aisle by first checking
        // the seat number and adding necessary padding)
        ctx.fillRect(...);

    }
}

要实现 mouseIsOnSeat,您可以添加一个 mousemove 监听器来跟踪鼠标位置,然后使用相同的计算来检查它是否在坐标内以了解在何处绘制鼠标座位。

关于javascript - HTML5 Canvas - Cinema Seating Plan,试图让选择的座位变成绿色和红色的座位不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476422/

相关文章:

javascript - setAttributeNS 不允许为空

animation - 影响 -webkit-animation 中的 -webkit-transform 函数而不影响应用于目标元素的其他 -webkit-transform 函数?

html - 超链接与 div 重叠

php - 防止一个数据循环

javascript - 字段变为空白

php - 使用 JQuery 或 Javascript 刷新图像

javascript - ElasticSearch Nodejs Express 自动化测试

javascript - 从嵌套函数返回 getJSON 结果

jquery - Div 没有环绕整个页面的宽度

javascript - 如何在单击单选按钮时显示下拉列表?