[]最新版本绘制100x100个sprite ios不能显示
/*
游戏地图
*/
function GameMap(){
this.MapRowNum = 100;
this.MapColNum = 100;
GameMap.super(this);
this.init();
}
Laya.class(GameMap, "GameMap", laya.display.Sprite);
var _proto = GameMap.prototype;
_proto.init = function(){
var boxSp = new laya.display.Sprite();
// boxSp.cacheAsBitmap = true;
for(var i = 0; i < this.MapRowNum; i++){
for(var j = 0; j < this.MapColNum; j++){
var box = new laya.display.Sprite();
box.graphics.drawRect(0, 0, 30, 30, null, "#e6e4ef", 1);
box.x = i * 30;
box.y = j * 30;
boxSp.addChild(box);
}
}
boxSp.cacheAs = "bitmap";
this.addChild(boxSp);
}
boxSp.cacheAs = "bitmap";
如果去掉这句话可以显示 是内部设置了??
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
cuixueying
赞同来自:
上面的问题是由于你绘制了大量的矩形以至于超出限制范围导致的无法显示(canvas正常,webGL下有问题)
原因:webGL下,没有绘制线条一说,每条线段需要4个顶点组成(也就是说每条线段就是一个矩形),一个矩形方格就是16个顶点,100*100*6=160000个顶点。
替代方案:使用线条去绘制方格,横向101,纵向101,202条线段即可搞定,如果非要用以上方案,建议把横纵向的格子数少一些。