render method
精灵渲染
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();
}