[]graphics 问题

安装论坛里面的alpha的设置,下面代码不起作用
img.graphics.save()
img.graphics.transform(m)
img.graphics.restore()
如果只留下第二行,那么transform效果将影响其他对象
已邀请:

cuixueying

赞同来自:

			var sp:Sprite=new Sprite();
sp.graphics.save();
var matrix:Matrix=new Matrix();
matrix.rotate(45);
matrix.translate(100,100);
sp.graphics.transform(matrix);
sp.graphics.drawRect(0,0,200,100,"#FF0000");
sp.graphics.restore();
Laya.stage.addChild(sp);
我测试没有问题,可以把你详细的代码发下,我们看下!

raytrace

赞同来自:

(function()
{
var Sprite = Laya.Sprite;
var Stage = Laya.Stage;
var Texture = Laya.Texture;
var Browser = Laya.Browser;
var Handler = Laya.Handler;
var WebGL = Laya.WebGL;

(function()
{
// 不支持WebGL时自动切换至Canvas
Laya.init(Browser.clientWidth, Browser.clientHeight, WebGL);

Laya.stage.alignV = Stage.ALIGN_MIDDLE;
Laya.stage.alignH = Stage.ALIGN_CENTER;

Laya.stage.scaleMode = "showall";
Laya.stage.bgColor = "#232628";

showApe();
})();

function showApe()
{
// 方法1:使用loadImage
var ape = new Sprite();
Laya.stage.addChild(ape);
ape.loadImage("../../res/apes/monkey2.png");

let m = new Laya.Matrix()
m.skew(-0.25, 0)
// ape.graphics.save()
ape.graphics.transform(m)
// ape.graphics.restore()

let sp=new Sprite();
sp.graphics.drawRect(0,0,200,200,"#ffffff")
Laya.stage.addChild(sp);
sp.x=300;
}
})();
请在引擎示例里面运行这段代码
如果注释去掉就没有变形效果了

cuixueying

赞同来自:

你把drawImage改成graphics.drawTexture吧
1、drawImage不确定是什么时候加载完成
2、transform的设置必须在绘图命令之前
所以,会出现save后,显示对象的transform设置无效,改成texture就OK了!

要回复问题请先

商务合作
商务合作