这次,我们要绘制的就是我们常见的台球,在绘制之前,先来绘制实心圆。
第一步:实心圆
CanvasRenderingContext2D提供了fill函数,为一个封闭的区域内填充颜色,如圆形、矩形等,实心圆和空心圆的区别在于:
设置实心圆的颜色:CanvasRenderingContext2D.fillStyle;
设置空心圆路径颜色:CanvasRendingContext2D.strokeStyle;
填充实心圆:CanvasRenderingContext2D.fill;
连接空心圆路径:CanvasRenderingContext2D.stroke;
掌握了这些,可以轻松地在Canvas中画一个实心圆:
<canvas id="myCanvas" style="width: 200px; height: 100px; border: 1px solid #c3c3c3;">
你的浏览器不支持canvas
</canvas>
<script type="text/javascript">
var c = document.getElementById("myCanvas");
var cxt = c.getContext("2d");
cxt.fillStyle = "#FF7F00";
cxt.beginPath();
cxt.arc(70, 18, 15, 0, Math.PI * 2, true);
cxt.closePath();
cxt.fill();
</script>
运行效果如下:
掌握了画实心圆,就可以开始绘制台球桌面上的16个小球了。
假设母球和离母球最近的顶部的球的位置分别如下:
var parentBall = {
position: { x: 200, y: 200 },