yoone-snow/js/shapes/coin.js

25 lines
890 B
JavaScript

(function(){
// 注册铜钱形状渲染函数 外圆加中间正方形孔
window.YooneSnowShapeRenderers = window.YooneSnowShapeRenderers || {};
window.YooneSnowShapeRenderers.coin = function(context, positionX, positionY, baseSize){
// 函数用于绘制铜钱形状 使用合成模式扣出孔
const outerRadius = baseSize * 3; // 将基础尺寸放大为外圆半径
context.save();
context.beginPath();
context.fillStyle = '#FFD700';
context.arc(positionX, positionY, outerRadius, 0, Math.PI * 2);
context.fill();
const holeSize = outerRadius * 0.6; // 正方形孔边长基于外圆半径
context.globalCompositeOperation = 'destination-out';
context.beginPath();
context.rect(
positionX - holeSize / 2,
positionY - holeSize / 2,
holeSize,
holeSize
);
context.fill();
context.restore();
};
})();