flash as3.0如何给主swf文件添加loading 并且可以在本地利用 模拟下载来测试! 15
我在文档类做了一个loading可是使用模拟下载测试时没有效果只出现一个白色的窗口不过如果用了下载网上的MP3的话就可以看到loading的效果的这个该怎么解决呢?求各位...
我在文档类做了一个loading 可是使用模拟下载测试时没有效果 只出现一个白色的窗口
不过如果用了下载网上的MP3的话就可以看到loading的效果的
这个该怎么解决呢?求各位大侠帮忙 最好写得详细一点! 展开
不过如果用了下载网上的MP3的话就可以看到loading的效果的
这个该怎么解决呢?求各位大侠帮忙 最好写得详细一点! 展开
展开全部
private var tf_loadinfo:TextField;
public function gameLoading():void
{
tf_loadinfo = new TextField();
tf_loadinfo.autoSize = TextFieldAutoSize.CENTER;
tf_loadinfo.selectable = false;
tf_loadinfo.background = true;
var format:TextFormat = new TextFormat();
format.font = "Arial";
format.size = 12;
tf_loadinfo.defaultTextFormat = format;
addChild(tf_loadinfo);
root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
root.loaderInfo.addEventListener(Event.COMPLETE, loadComplete);
}
private function loadComplete(event:Event):void
{
root.loaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
removeChild(tf_loadinfo);
this.gotoAndStop(3);
}
private function showProgress(event:ProgressEvent):void
{
var p:Number=event.bytesLoaded/event.bytesTotal;
var n:Number=Math.round(p*100);
tf_loadinfo.text='Loading '+n.toString()+'%';
setCenter(tf_loadinfo);
if(n >= 100 && flag){
flag = false;
//trace("加载完成"+n.toString());
root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, showProgress);
}
}
private function setCenter(obj:Object):void
{
obj.x = 355;
obj.y = 316;
// obj.x =(stage.stageWidth-obj.width)/2 + 50;
// obj.y =(stage.stageHeight-obj.height)/2 + 100;
}
如果你加载的东西很小,可以调整下载设置里面的选项来设置你的下载速度,还支持自定义下载速度,不过最好不要这样测试下载速度,最好的方法是自己搭一个apache的环境,限制apache的下载速度,把swf放到页面上测试,比较真实!!
public function gameLoading():void
{
tf_loadinfo = new TextField();
tf_loadinfo.autoSize = TextFieldAutoSize.CENTER;
tf_loadinfo.selectable = false;
tf_loadinfo.background = true;
var format:TextFormat = new TextFormat();
format.font = "Arial";
format.size = 12;
tf_loadinfo.defaultTextFormat = format;
addChild(tf_loadinfo);
root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
root.loaderInfo.addEventListener(Event.COMPLETE, loadComplete);
}
private function loadComplete(event:Event):void
{
root.loaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
removeChild(tf_loadinfo);
this.gotoAndStop(3);
}
private function showProgress(event:ProgressEvent):void
{
var p:Number=event.bytesLoaded/event.bytesTotal;
var n:Number=Math.round(p*100);
tf_loadinfo.text='Loading '+n.toString()+'%';
setCenter(tf_loadinfo);
if(n >= 100 && flag){
flag = false;
//trace("加载完成"+n.toString());
root.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, showProgress);
}
}
private function setCenter(obj:Object):void
{
obj.x = 355;
obj.y = 316;
// obj.x =(stage.stageWidth-obj.width)/2 + 50;
// obj.y =(stage.stageHeight-obj.height)/2 + 100;
}
如果你加载的东西很小,可以调整下载设置里面的选项来设置你的下载速度,还支持自定义下载速度,不过最好不要这样测试下载速度,最好的方法是自己搭一个apache的环境,限制apache的下载速度,把swf放到页面上测试,比较真实!!
追问
我的fla文档的所有帧上都没有东西的 这样也可以吗? 为什么按照你的方法还是一片白色的呢??
追答
1、必须可以
2、一片白色有可能是你的文件太小,但是加载速度过快,我的代码写的是加载完成以后移除进度文本,你要是能看懂代码就好了,你将如下的两句去掉,再试试
removeChild(tf_loadinfo);
this.gotoAndStop(3);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在第一帧做个loading,内容越简单越好
从第二针起,往flash里加个很大很大的动画,并且把帧延长到一百针左右,这样应该可以看到loading效果
从第二针起,往flash里加个很大很大的动画,并且把帧延长到一百针左右,这样应该可以看到loading效果
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本地按两次“Ctrl+Enter”就是测试loading预览,但如果你本地的文件非常小的话,loading也会很快过去,加载的文件不要太小。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本地加载一瞬间就加载完了自然没效果,你搞个很大很大的swf来加载
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询