render method

  1. @override
void render(
  1. Canvas canvas
)
override

精灵渲染

Implementation

@override
void render(Canvas canvas) {
  /// 画布暂存
  canvas.save();

  /// 将子精灵转换为相对坐标
  canvas.translate(position.x, position.y);

  if (this.sprites.length > 0) {
    this.sprites.forEach((sprite) {
      sprite.render(canvas);
    });
  }

  /// 精灵矩形边界
  /*if(this.cameraPosition!=null){
    var paint = new Paint()..color = Color(0x6000FF00);
    DFRect visibleRect = DFRect(this.cameraPosition!.x - 50,this.cameraPosition!.y -50, 100, 100);
    canvas.drawRect(visibleRect.toRect(), paint);
  }*/

  /// 绘制碰撞层和遮挡层
  if (DFConfig.debug) {
    drawBlockAndAlphaLayer(canvas);
  }

  /// 画布恢复
  canvas.restore();
}