H5 canvas基础入门到捕鱼达人小游戏实现(4)canvas事件处理和图形动作

本文是关于H5 Canvas的第四篇教程,重点介绍了图形动作(平移、旋转、缩放)和事件处理。在图形动作部分,通过示例代码解释了如何正确进行图形平移和状态管理。在事件处理方面,由于canvas图形不能直接绑定事件,因此需要通过判断鼠标位置来实现图形的事件响应。最后,展示了图形拖拽的实现,为制作捕鱼达人小游戏奠定了基础。
摘要由CSDN通过智能技术生成

这已经是第四篇canvas文章了,今天主要讲canvas中图形动作和canvas中的事件

图形动作

常用动作api:平移,缩放,旋转

平移

var oC = document.getElementById('c1');
var gd = oC.getContext('2d');
gd.translate(100,100);//x,y平移到的位置
gd.fillRect(0,0,100,100);//绘制一个正方形

看看示例图
这里写图片描述

如果我想在一块画布中移动两个块呢看看代码

var oC = document.getElementById('c1');
    var gd = oC.getContext('2d');

    gd.beginPath();
    gd.translate(100,100);
    gd.fillRect(0,0,100,100);

    gd.fillStyle = "red";
    gd.translate(100,100);
    gd.fillRect(0,0,100,100);

按照代码分析:先移动100,100创建一个块,再移动100,100,在创建一个红色的块。
如图所示:
这里写图片描述

可以看到,第二次移动是基于第一次移动的效果叠加的,第二个块相当于移动到了200,200的位置了。
这样状态就非常不好管理了,因为都是叠加上去的,那么有这么一个api可以使得画布保存一个状态,当我们第一次移动完之后,在恢复这个状态,在进行第二次移动,就互相不影响了
看看代码:

    var oC = document.getElementById('c1&#
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值