Egret社区

[Bug处理中] 遮罩在native下无法正常显示

2015-10-24 11:46
227817
产品 Egret Android Support 版本 2.5.1
复现概率 100% 平台 Android 4.2.2
复现步骤 用wing创建游戏项目,在createGameScene中添加遮罩测试代码
// 测试mask
//////////////////////////////////////////////////////////////////////////////////////
var square:egret.Shape = new egret.Shape();
square.graphics.beginFill(0xff0000, 0.3);
square.graphics.drawRect(0,0,100,100);
square.graphics.endFill();
square.y = 100;
this.addChild(square);

//画一个蓝色的圆形
var circle:egret.Shape = new egret.Shape();
circle.graphics.beginFill(0x0000ff);
circle.graphics.drawCircle(25,25,25);
circle.graphics.endFill();
circle.y = 100;
this.addChild(circle);

square.mask = circle;

var change:Function = function() {
square.mask = circle;
}
var tw = egret.Tween.get(circle, {
loop: true,//设置循环播放
onChange: change,//设置更新函数
onChangeObj: this//更新函数作用域
});
tw.to({ "y": 125 }, 1000);
tw.to({ "y": 100 }, 1000);
tw.call(change, self);
//////////////////////////////////////////////////////////////////////////////////////

在手机上无法正确显示,连原本工程自带的文字动画也看不到了
问题描述 在web下能正常显示,在native下无法正常显示,android support 2.5.0还能显示遮罩,但是对alpha处理有问题,2.5.1是完全无法显示。
错误代码 private createGameScene():void {
var sky:egret.Bitmap = this.createBitmapByName("bgImage");
this.addChild(sky);
var stageW:number = this.stage.stageWidth;
var stageH:number = this.stage.stageHeight;
sky.width = stageW;
sky.height = stageH;

var topMask:egret.Shape = new egret.Shape();
topMask.graphics.beginFill(0x000000, 0.5);
topMask.graphics.drawRect(0, 0, stageW, stageH);
topMask.graphics.endFill();
topMask.width = stageW;
topMask.height = stageH;
this.addChild(topMask);

var icon:egret.Bitmap = this.createBitmapByName("egretIcon");
this.addChild(icon);
icon.scaleX = 0.55;
icon.scaleY = 0.55;
icon.anchorOffsetX = icon.width / 2;
icon.anchorOffsetY = icon.height / 2;
icon.x = stageW / 2;
icon.y = stageH / 2 - 60;

var colorLabel:egret.TextField = new egret.TextField();
colorLabel.textColor = 0xffffff;
colorLabel.textAlign = "center";
colorLabel.text = "Hello Egret";
colorLabel.size = 20;
colorLabel.x = stageW - colorLabel.width >> 1;
colorLabel.y = (stageH - colorLabel.height >> 1) + 50;
this.addChild(colorLabel);

var textfield:egret.TextField = new egret.TextField();
this.addChild(textfield);
textfield.alpha = 0;
textfield.width = stageW;
textfield.textAlign = egret.HorizontalAlign.CENTER;
textfield.x = 0;
textfield.y = stageH / 2 + 100;
this.textfield = textfield;

// 测试mask
//////////////////////////////////////////////////////////////////////////////////////
var square:egret.Shape = new egret.Shape();
square.graphics.beginFill(0xff0000, 0.3);
square.graphics.drawRect(0,0,100,100);
square.graphics.endFill();
square.y = 100;
this.addChild(square);

//画一个蓝色的圆形
var circle:egret.Shape = new egret.Shape();
circle.graphics.beginFill(0x0000ff);
circle.graphics.drawCircle(25,25,25);
circle.graphics.endFill();
circle.y = 100;
this.addChild(circle);

square.mask = circle;

var change:Function = function() {
square.mask = circle;
}
var tw = egret.Tween.get(circle, {
loop: true,//设置循环播放
onChange: change,//设置更新函数
onChangeObj: this//更新函数作用域
});
tw.to({ "y": 125 }, 1000);
tw.to({ "y": 100 }, 1000);
tw.call(change, self);
//////////////////////////////////////////////////////////////////////////////////////

//根据name关键字,异步获取一个json配置文件,name属性请参考resources/resource.json配置文件的内容。
// Get asynchronously a json configuration file according to name keyword. As for the property of name please refer to the configuration file of resources/resource.json.
RES.getResAsync("description", this.startAnimation, this)
}
BUG截图

分享到 :
0 人收藏

17 个回复

倒序浏览
东北大客  官方团队 | 2015-10-26 10:37:43
收到反馈
lostsailboard  登堂入室 | 2015-10-26 11:02:28

egret engine用2.5.2和2.5.3都是一样的错误
东北大客  官方团队 | 2015-10-26 14:10:10
lostsailboard 发表于 2015-10-26 11:02
egret engine用2.5.2和2.5.3都是一样的错误

这个问题我们会尽快修复的。
rabee  圆转纯熟 | 2015-11-11 14:28:02
东北大客 发表于 2015-10-26 14:10
这个问题我们会尽快修复的。

这个问题解决了没?我现在也遇到和这个问题了~
rabee  圆转纯熟 | 2015-11-11 14:28:48
问题解决了没?
东北大客  官方团队 | 2015-11-11 15:23:51
本帖最后由 东北大客 于 2015-11-11 15:26 编辑
rabee 发表于 2015-11-11 14:28
这个问题解决了没?我现在也遇到和这个问题了~

这个在最新的的support修复了这bug。
rabee  圆转纯熟 | 2015-11-11 16:39:07
本帖最后由 rabee 于 2015-11-11 16:44 编辑
东北大客 发表于 2015-11-11 15:23
这个在最新的的support修复了这bug。

我这边是在runtime下的~你说的最新的support是指什么东西呢?
东北大客  官方团队 | 2015-11-11 18:52:41
rabee 发表于 2015-11-11 16:39
我这边是在runtime下的~你说的最新的support是指什么东西呢?

Egret Android Support 就是楼主上面写的那个
rabee  圆转纯熟 | 2015-11-12 12:21:36
东北大客 发表于 2015-11-11 18:52
Egret Android Support 就是楼主上面写的那个

这个没用到~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部