lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 10777|回复: 2
打印 上一主题 下一主题

LUFY,关于遍历DRAW的问题

[复制链接]

65

主题

2

好友

1355

积分

偏将军

Rank: 4

跳转到指定楼层
楼主
发表于 2019-1-2 17:16:46 |显示全部楼层 |倒序浏览
for (var i = 1; i <= 32; i+=2) {
var bitmapData3=new LBitmapData(null,null, null, 600*1, 1070*1,LBitmapData.DATA_CANVAS);
var bitmapData5=new LBitmapData(null,null, null, 600*1, 1070*1,LBitmapData.DATA_CANVAS);
bitmapData3.draw(hideSprite);
bitmapData5.draw(faceSprite);
}
如果遍历几十次后,微信浏览器会崩溃,如何解决,有没有其它的方法绘制图像。
回复

使用道具 举报

65

主题

2

好友

1355

积分

偏将军

Rank: 4

沙发
发表于 2019-1-4 17:54:32 |显示全部楼层
lufy 发表于 2019-1-4 09:51
你想要实现什么效果呢,每次都new新的LBitmapData吗?不断的增加画面上的对象的数量,肯定会变慢啊,
draw ...

有32个人物动作
for (var i = 1; i <=32; i+=2) {

                var bitmapData=new LBitmapData(null,null, null, 600*1, 1070*1,LBitmapData.DATA_CANVAS);
                 var bitmapData1=new LBitmapData(imglist["playerm" + (i + 0)]);人物遮罩
                  var bitmapData2=new LBitmapData(imglist["player" + (i + 0)]);人物
                   var bitmapData4=new LBitmapData(imglist["players" + (i + 0)]);人物的阴影面

                 var bitmapData3=new LBitmapData(null,null, null, 600*1, 1070*1,LBitmapData.DATA_CANVAS);
                  var bitmapData5=new LBitmapData(null,null, null, 600*1, 1070*1,LBitmapData.DATA_CANVAS);

                   hideMask.removeAllChild();
                   var displaybmp=new LBitmap(bitmapData1);
                    hideMask.addChild(displaybmp);
                 bitmapData3.image.width = bitmapData3.image.width;
                bitmapData3.draw(hideSprite);//绘制混合模式

               
                 bitmapData5.image.width = bitmapData5.image.width;
                 hideSprite.alpha=0.8;
                bitmapData5.draw(hideSprite);//绘制混 合混 式+透明度

                 bitmapData.copyPixels(bitmapData2, new LRectangle(0, 0, 600*1, 1070*1), new LPoint(0,0));         //复制人物
                bitmapData.copyPixels(bitmapData3, new LRectangle(0, 0, 600*1, 1070*1), new LPoint(0,0));        //复制混合模式
                 bitmapData.copyPixels(bitmapData4, new LRectangle(0, 0, 600*1, 1070*1), new LPoint(0,0));   //复制人物阴影
                 bitmapData.copyPixels(bitmapData5, new LRectangle(0, 0, 600*1, 1070*1), new LPoint(0,0));  //复制透明度
        datas.push(bitmapData);
        listChild.push({dataIndex : w-1, x : 0, y : 0, width : 600*1, height : 1070*1, sx : 0, sy : 0});
       
    }


player = new LAnimationTimeline(datas, [listChild]);
回复

使用道具 举报

65

主题

2

好友

1355

积分

偏将军

Rank: 4

板凳
发表于 2019-1-5 08:58:36 |显示全部楼层
lufy 发表于 2019-1-5 08:45
我就理解为你需要一次性处理很多东西吧,任何开发如果一次性处理太多东西,都会发生类似的问题吧
如果这些 ...

好的,我试一下,谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-3 00:58 , Processed in 0.048480 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部