- 注册时间
- 2014-12-25
- 最后登录
- 2014-12-28
- 阅读权限
- 20
- 积分
- 9
- 精华
- 0
- 帖子
- 1
|
代码如下- /**
- * Created by shidoudou on 2014/12/26.
- */
- function LoadingSample8(data,W,H,w,h,color){
- var self = this;
- base(self,LSprite,[]);
- self.progress = 0;
- self.step = 0;
- self.holeW = w || 22;
- self.holeH = h || 30;
- self.holeAmount = 10;
- self.holesx = 8;
- self.loadingBarWidth = self.holeW*self.holeAmount;
- self.loadingBarHeight = self.holeH;
- self.progressColor = color || "#f031f2";
- self.backLayer = new LSprite();
- // self.backLayer.graphics.add(function(){
- // var ctx = LGlobal.canvas;
- // var img = new Image();
- // img.onload = function(){
- // ctx.drawImage(img,0,0,W,H);
- // };
- // img.src = './img/loading.jpg';
- // });
- self.loader = new LLoader();
- self.loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);
- self.loader.load(data,"bitmapData");
- function loadBitmapdata(event){
- self.bitmapdata = new LBitmapData(self.loader.content);
- self.bitmap = new LBitmap(self.bitmapdata);
- self.bitmap.scaleX = (W/LGlobal.width).toFixed(4);
- self.bitmap.scaleY = (H/LGlobal.height).toFixed(4);
- self.backLayer.addChild(self.bitmap);
- }
- self.addChild(self.backLayer);
- self.progressLayer = new LSprite();
- self.progressLayer.x = (LGlobal.width - self.loadingBarWidth)*0.5;
- self.progressLayer.y = (LGlobal.height - self.loadingBarHeight)*0.83;
- self.addChild(self.progressLayer);
- self.progressPrecentLayer = new LSprite();
- self.layersText = new LTextField();
- self.layersText.size = 22;
- self.layersText.weight = "bolder";
- self.layersText.color = "#ffffff";
- self.layersText.font = "Microsoft Yahei";
- self.progressPrecentLayer.addChild(self.layersText);
- self.progressPrecentLayer.x = (LGlobal.width - 45)*0.5;
- self.progressPrecentLayer.y = (LGlobal.height - self.progressPrecentLayer.getHeight())*0.87;
- self.addChild(self.progressPrecentLayer);
- self._addHole();
- }
- LoadingSample8.prototype._addHole = function(){
- var self = this;
- var amount=self.holeAmount,sx=self.holeW,w=self.holeW,h=self.holeH;
- var holeObjBg = new LSprite();
- holeObjBg.graphics.drawRoundRect(1,"#ffffff",[0,0,self.holeW*amount,self.holeH,14],true,"#390039");
- self.progressLayer.addChild(holeObjBg);
- for(var i=0; i<amount; i++){
- var grd = LGlobal.canvas.createLinearGradient(0,-h,0,h);
- grd.addColorStop(0,"white");
- grd.addColorStop(1,self.progressColor);
- var progressObj = new LSprite();
- progressObj.alpha = 0;
- progressObj.x = i*sx;
- progressObj.graphics.drawRect(0,"",[0,0,self.holeW,self.holeH],true,grd);
- self.progressLayer.addChild(progressObj);
- progressObj.blendMode = LBlendMode.SOURCE_ATOP;
- }
- };
- LoadingSample8.prototype.setProgress = function(value){
- var self = this;
- self.progress = value/100;
- if(Math.floor(self.progress/0.1) > self.step){
- var n = Math.ceil(self.progress/0.1);
- if(n > 10)n = 10;
- for(var i=0; i<n; i++){
- var sc = self.progressLayer.childList;
- if(sc[i].alpha > 0)continue;
- var o = self.progressLayer.childList[i];
- LTweenLite.to(o,1,{
- alpha: 1.
- });
- }
- self.step ++;
- self.layersText.text = self.progress*100 + '%';
- }
- };
复制代码 1.在67行,使用progressObj.blendMode = LBlendMode.SOURCE_ATOP;达不到预想的效果,如截图所示。
2.
var ctx = LGlobal.canvas;
var img = // base64的image数据流
ctx.drawImage(img,0,0,W,H);
本想base64的image数据流画loading背景页面,但是发现很卡,图片大小9K左右。
|
|