[转]有关FP的“警告: 滤镜将不进行呈现。DisplayObject 的应用了滤镜的尺寸过大,无法绘制。”警报 ...

以前的player版本,印象中就没有这类错误,今次做项目,遇到了一个这类错误报警,google无解。

于是查找代码看看哪有错误,发现很正常

 

public function ProgressLoader(iw:Number=202)

{

super();

var sp:MovieClip=new MovieClip();


sp.graphics.beginFill(0x399dce);

sp.graphics.drawRect(0,0, iw, 8);

sp.graphics.endFill(); var g:DropShadowFilter = new DropShadowFilter(1, 90, 0x000000, 1, 4, 4, 1, 1,true);


sp.filters = [g];

inner = new MovieClip();

inner.graphics.beginFill(0xFFFFFF);

inner.graphics.drawRect(0, 0, iw, 8);

inner.graphics.endFill();


g = new DropShadowFilter(1, 90, 0x000000, 1, 2, 2, 1, 3, true);


inner.filters = [g];

inner.scaleX = .01;


sp.addChild(inner);

addChild(sp);

}


public function reset():void {

inner.scaleX = .01;

}


public function update(percent:Number):void {

inner.scaleX = percent;

}


于是苦思不得其解,到底这是为什么呢?

经过好几十分钟的研究,结果大跌眼镜…… ,原来这个class确实是没问题的,答案是用了update函数的percent出现了infinity值,就是这里

[code]

protected function loadProgress(e:BulkProgressEvent):void {

initLoader.update(e.bytesLoaded/e.bytesTotal);

}[/code]


于是,简单的加一句判断就可解决


protected function loadProgress(e:BulkProgressEvent):void { 

if(e.bytesTotal>0)initLoader.update(e.bytesLoaded/e.bytesTotal);

}



无语……发现越写越马虎,以前最基本的判断都开始忽略了……


希望能给同样错误的情况一些启发
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值