Egret引擎实现多个遮罩
来源:互联网 发布:淘宝客api有什么用 编辑:程序博客网 时间:2024/04/29 21:40
Egret 引擎中DisplayObject 有mask属性,作为遮罩,只显示mask矩形区域内的部分。
但是有一个局限就是,它只有一个矩形,不能实现诸如窗口效果的多区域遮罩。我们可以这样实现,下面以重写Sprite类来实现。
class MultiMasksSprite extends egret.Sprite{
constructor() {
super();
}
masks: Array<egret.Rectangle> = [];
public _render(renderContext: egret.RendererContext): void {
var render = <egret.HTML5CanvasRenderer>renderContext;
var ctx = render.canvasContext;
ctx.save();
ctx.beginPath();
for (var i = 0; i < this.masks.length; i++) {
var mask = this.masks[i];
ctx.rect(mask.x + render._transformTx, mask.y + render._transformTy, mask.width, mask.height);
}
ctx.clip();
ctx.closePath();
super._render(renderContext);
ctx.restore();
}
}
向masks中添加遮罩区域即可
- Egret引擎实现多个遮罩
- Egret 白鹭引擎实践
- Egret引擎的使用
- Egret游戏引擎视频教程
- Egret游戏引擎视频教程
- Egret---白鹭引擎
- egret HTML5游戏引擎简介
- 白鹭引擎(Egret Engine )
- Egret)引擎工作原理
- Egret 游戏引擎(HTML5)
- egret白鹭引擎基础介绍
- 一、p2物理引擎在egret中的应用:简单贴图的实现
- H5游戏引擎为什么选择egret和怎么学习egret
- Egret实现滚动排行榜
- egret游戏进度条实现
- 白鹭(egret)搜素引擎入门
- 游戏引擎cocos2d-js和egret 对比
- 简单介绍了解白鹭引擎Egret
- [WebView学习之二]:使用Web Apps 支持不同分辨率屏
- 正则表达式-深入浅出(二)
- getJson跨域问题
- 使用RadiusOutlierRemoval移除离群点
- lnmp/nginx系统图片防盗链
- Egret引擎实现多个遮罩
- oracle 修改数据库字符集
- c++不同功能的实现
- 小黑小波比.判断字段是否存在和字段值是否为空问题
- 公司成立后有哪些后续工作
- JMeter 使用入门
- 让我们走起来
- 第10周项目1之程序填充与阅读
- c++多线程