25 lines
890 B
JavaScript
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();
|
|
};
|
|
})();
|