本帖最后由 马黑黑 于 2024-4-30 11:47 编辑
代码
<style>
#canv { display: block; position: relative; margin: 20px auto; border: 1px solid gray; }
</style>
<canvas id="canv" width="400" height="400"></canvas>
<script>
var ctx = canv.getContext('2d');
class Box {
constructor(x,y,width,color) {
this.x = x;
this.y = y;
this.width = width;
this.color = color;
};
drawPanel(context) {
//正面
context.beginPath();
context.moveTo(this.x, this.y);
context.lineTo(this.x + this.width, this.y);
context.lineTo(this.x + this.width, this.y + this.width);
context.lineTo(this.x, this.y + this.width);
context.lineTo(this.x, this.y);
//顶面
context.lineTo(this.x + this.width/2, this.y - this.width/2);
context.lineTo(this.x + this.width*3/2, this.y - this.width/2);
context.lineTo(this.x + this.width, this.y);
//右侧
context.moveTo(this.x + this.width, this.y + this.width);
context.lineTo(this.x + this.width*3/2, this.y + this.width/2);
context.lineTo(this.x + this.width*3/2, this.y - this.width/2);
context.stroke();
//后面
context.setLineDash([3]);
context.moveTo(this.x + this.width/2, this.y - this.width/2);
context.lineTo(this.x + this.width/2, this.y + this.width/2);
context.lineTo(this.x + this.width*3/2, this.y + this.width/2);
//底面和左侧
context.moveTo(this.x + this.width/2, this.y + this.width/2);
context.lineTo(this.x, this.y + this.width);
context.stroke();
};
};
var box = new Box(50.5, 150.5, 200);
box.drawPanel(ctx);
</script>
|