잡담 js4: 프레젠테이션용 렌더링 라이브러리 만들기 2 (es6 버전)
렌더링 상태 및 올가미 사용
벡터 도형 및 문자의 스트로크 / fill 세트
es6 super 키워드 사용법
코드는 다음과 같습니다.
Render 클래스
"use strict";
class BLFRender {
constructor(ctx) {
this.context = ctx;
}
drawGrid(backcolor, color, stepx, stepy) {
context = this.context;
context.save()
context.strokeStyle = color;
context.fillStyle = backcolor;
context.lineWidth = 0.5;
context.fillRect(0, 0, context.canvas.width, context.canvas.height);
context.beginPath();
for (var i = stepx + 0.5; i < context.canvas.width; i += stepx) {
context.moveTo(i, 0);
context.lineTo(i, context.canvas.height);
}
context.stroke();
context.beginPath();
for (var i = stepy + 0.5; i < context.canvas.height; i += stepy) {
context.moveTo(0, i);
context.lineTo(context.canvas.width, i);
}
context.stroke();
context.restore();
}
drawText(x, y, color, str) {
context = this.context;
context.save();
context.fillStyle = color;
context.fillText(str, x, y);
//context.strokeStyle = color;
//context.strokeText(str, x, y);
context.restore();
}
}
/*
fill/stroke ,
*/
drawText(x, y, color, str) {
context = this.context;
context.save();
context.fillStyle = color;
context.fillText(str, x, y);
//context.strokeStyle = color;
//context.strokeText(str, x, y);
context.restore();
}
}
렌더링 상태 소켓 사용법: (draw 시작 함수에서)
save
save
save
restore
restore
restore
벡터 도형 (문자도 벡터) 그리기 루트는 두 부분을 포함합니다: 스케치 (stroke) 와 (fill)
stroke strokeStyle , 【 / 】
fill fillStyle 【 】
style color?
style 【color】, 【 】,【 】
Sprite 기본 클래스
class BLFSprite {
constructor() {
this.typeName = "BASE";
}
render(render) {
render.drawGrid('white', 'black', 10, 10);
}
}
RectSprite 하위 클래스
class BLFRectSprite extends BLFSprite {
constructor() {
//super([ ])
super();
//this super() ok!!!!
this.typeName = "RECT";
}
render(render) {
//
super.render(render);
//rect
render.drawText(10, 10, 'red', " ");
}
}
es6의 super 키워드에 대한 전제 사항은 다음과 같습니다.
하나의 전제:
extends super
두 가지 용도:
1. :
super([ ]), super()
this super() ok!!!!
2. :
super super() , !
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.