demo项目里Main.ts下的onConfigLoaded方法里,使用Texture2D.setPixels创建了纹理,Sprite通过绘制纹理graphics.drawTexture的方式生成可视化图片,但这个Sprite在改变大小时会出现绘制失败的情况,demo里scale在0.7及更小的情况下就不再绘制,即图片不可见,具体代码如下:
let sp = new Laya.Sprite;
sp.size(nImageWidth, nImageHeight);
let b = new Laya.Texture2D(nImageWidth, nImageHeight);
b.setPixels(data);
sp.graphics.drawTexture(new Laya.Texture(b));
Laya.stage.addChild(sp);
let _picScale:number=1;
//每点一下就缩小0.05倍
Laya.stage.on(Laya.Event.MOUSE_DOWN,this,()=>{
_picScale-=0.05;
sp.scale(_picScale,_picScale);
//缩小到0.7倍时,图片就不见了
console.log("图片放大倍数:"+_picScale)
})
附件:
demo.zip