作者回复: 平移的是坐标系,你可以理解为将坐标原点移动了,例如本来画布左上角坐标是0,0,现在translate(100,100),那么也就是距离画布左上角(100,100)处的坐标是0,0,相应左上角坐标就是-100,-100了。相当于此时开始再绘制任何图形,每个顶点的坐标和原来相比都偏移了100,100
作者回复: 这两种写法是参数签名不同,我上面这种写法调用起来虽然麻烦一点,但是能让代码可读性更好。 因为同样调用: draw(context, el, {fillStyle: 'red', textColor: 'black'}) 比 draw(context, el, 'red', 'black') 可读性要好 假设你是代码维护者,前者你一看就知道后面两个颜色参数哪个是fillStyle,哪个是textColor;后者你不看函数定义,不知道red和black分别哪个是fillStyle,哪个是textColor。 代码是给人阅读的,所以设计API的时候需要考虑这样的细节。 打砖块很赞~~
作者回复: 赞~这个五子棋不错。同样宽度覆盖,因为Canvas有反锯齿等处理,另外还有光栅化的精度问题,所以边缘的像素会覆盖不了的,一般来说是需要增加线宽,这个是正常的。
作者回复: 赞👍
作者回复: 棒~
作者回复: 很棒~
作者回复: 可以,这个思路挺好的,当然这个问题也可以只用一个canvas,不过用两个的好处也是有的,这样只需要更新局部的图形了。
作者回复: 因为之前用了360的CDN服务,那个域名过期了,把代码里面的qhres全都换成qhres2就可以了
作者回复: 把代码里的qhres全都替换成qhres2就可以了
作者回复: 棒~