Egret社区

混合模式求解

2015-11-25 11:16
254912
1银子
本帖最后由 acxzx 于 2015-11-25 20:31 编辑

项目需要 需要应用到混合模式来 镂空背景图的某个位置 但是怎么用的效果都不对 附上代码

this._bg = new GameBitmap;
this._bg.setDataBySource("background.jpg");
this._bg.x = 0;
this._bg.y = 0;this._show = new GameBitmap;
this._show.x = 0;
this._show.y = 0;
this._show.setDataBySource("box.png");
this._show.blendMode = egret.BlendMode.ERASE;
this._bg.addChild(this._show);
this.addChild(this._bg);
这个是啥问题 使用的方式不对?
绘制出来的结果 就是全部都是黑的。 图片已上传
/**
* @language zh_CN
* 根据显示对象的 Alpha 值擦除背景。Alpha 值不为0的区域将被擦除。
* @version Egret 2.4
* @platform Web,Native
*/
static ERASE: string;

这个API的这个说明 效果 不对头呢。

这个问题的解决方式是这样的:
因为现在底层的框架还没有实现flash layer层的混合, 这样就导致混合的时候不知道针对那个层来做混合。所以解决的方法就是在设置好下层和上层之后, 设置上层为擦除的混合模式,之后获取整个对象的纹理 赋值到bitmap 添加到舞台上显示。
谢谢yjtx  给出的解决方案, 也等着layer层的实现 之后替换 目前临时的解决方案会带来比较大的性能消耗。



求助1.jpg
分享到 :
0 人收藏

12 个回复

倒序浏览
taotao5453  略有小成 | 2015-11-25 12:13:11
应该吧_show和_bg放到同一个容器中吧
acxzx  登堂入室 | 2015-11-25 12:39:45
taotao5453 发表于 2015-11-25 12:13
应该吧_show和_bg放到同一个容器中吧

同级  父子级 都尝试过的 结果一样
新手一号  圆转纯熟 | 2015-11-25 12:56:35
你用两个矢量绘图试试,别用图片
acxzx  登堂入室 | 2015-11-25 13:04:44
新手一号 发表于 2015-11-25 12:56
你用两个矢量绘图试试,别用图片

一样的 我是矢量不行 才用图片
新手一号  圆转纯熟 | 2015-11-25 13:54:29
本帖最后由 新手一号 于 2015-11-25 14:01 编辑
acxzx 发表于 2015-11-25 13:04
一样的 我是矢量不行 才用图片

可以用的,
QQ截图20151125135200.png
QQ截图20151125135216.png
新手一号  圆转纯熟 | 2015-11-25 14:01:56
好像感觉那里不对的样子
acxzx  登堂入室 | 2015-11-25 14:56:22
新手一号 发表于 2015-11-25 14:01
好像感觉那里不对的样子

你设置错了
是下方那个方块用混合。
acxzx  登堂入室 | 2015-11-25 15:00:21
新手一号 发表于 2015-11-25 14:01
好像感觉那里不对的样子

你这效果是一点都不正常  不应该是这样子的。
我要做出镂空的效果 你这为什么还有显示绿色的点。
xsstomy  渐入佳境 | 2015-11-25 19:19:11
http://edn.egret.com/cn/docs/page/588 应该使用的是需要遮罩吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部