源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

关于loading的一些技巧

  • 时间:2021-02-10 15:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:关于loading的一些技巧
近日在做一个flash的时候,发现了一个非常奇怪的问题,就是loading的进度条是从64%开始的,而且进度条出现之前,一片空白,但是上传到空间之后,却发现loding完全失效,望各位help一下,我琢磨了2个多小时,头都快大了.以下是前两帧的代码 第一帧: totalB = _root.getBytesTotal(); loaded = _root.getBytesLoaded(); trace(loaded); per = Math.round(loaded/totalB*100); trace(per); _root.load_bar._xscale = per; loadper = per+"%"; 第二帧: if(loaded>=totalB){        gotoAndPlay("场景 1",1); } else{ gotoAndPlay(1); } 先谢过了! stop() _root.createEmptyMovieClip("Loading_mc",_root.getNextHighestDepth()) Loading_mc.beginFill(0x5f6165) Loading_mc.moveTo( 0, 10 ); Loading_mc.lineTo( 0, 0 );  Loading_mc.lineTo( 350, 0 ); Loading_mc.lineTo( 350, 10 ); Loading_mc.lineTo( 0, 10 ); Loading_mc._x=200 Loading_mc._y=350 _root.createTextField("Loading_txt",_root.getNextHighestDepth(),200,370,30,20) Loading_txt.border=false Loading_txt.multiline = true; Loading_txt.wordWrap = true; Loading_mc.onEnterFrame=function(){        if(_root.getBytesLoaded()>=_root.getBytesTotal()){        _root.play()        _root.Loading_mc.removeMovieClip()        _root.Loading_txt.removeTextField()        }else{               _root.Loading_mc._xscale=(_root.getBytesLoaded()/_root.getBytesTotal())*100               _root.Loading_txt.text=int(Loading_mc._xscale).toString()+"%"               _root.Loading_txt._x=Loading_mc._width+200        } } 放到第1帧就OK了. 代码解读: 1  让影片在第1帧时停止播放; 2  在根路径也就是_root的位置建立一个影片剪辑,它的名称为Loading_mc,它的层深为根路径中现在没有使用的的第一个层深。 3       Loading_mc影片剪辑填充为0x5f6165色; 4~8  将它移动到X:0,Y:10的位置开始绘制,坐标为0~350,高度为10; 9       它的X坐标等于200; 10       它的Y坐标等于300; 11       在根路径建立一个文本字段,它的名称为Loading_txt,它的层深为根路径没有使用的最后一个层深,它的X坐标为200,Y坐标为370,宽度为30,高度为20; 12       它的边框属性border为假,也就是它没有边框; 13       它可以是多行文本; 14       它可以自动换行; 15       当Loading_mc影片剪辑开始播放时,每播放一帧,执行一次以下代码; 16       当根路径已经加载的字节,超过或者等于它的总字节时; 17       根路径开始播放; 18       并且删去Loading_mc这个影片剪辑; 19       删去Loading_txt这个字段; 20       如果条件不成立的话; 21       Loading_mc影片剪辑的宽度缩放比例,等于根路径的已下载字节除以根路径的总字节的值,乘以100; 22       Loading_txt字段的文字内容,等于对宽度缩放比例的值,取整之后,再转换为字符类型,然后加上“%”百分号; 23       而它的坐标等于Loading_mc影片剪辑的宽度加上200。 非常感谢爱老虎油的解答,但是我想我的问题可能有点不一样,因为,即使我在第一帧里加入如下两行 trace("loaded"); stop(); 也是过一段满长的时间,才显示loaded,并且进度条停在了64%处, 我想是不是影片加载到64%的时候才开始执行我的代码,我把代码放在场景1,主影片放在场景2 也许我说的不对,仅供参考. 其一,我不知道你用什么版本,但是你的变量没有指定数据类型. 其二,第一帧里检查一下,有什么大东西没有.不要放在第1帧. 其三,_root.load_bar._xscale = per;这句说明per是数值型,但是.loadper = per+"%"未转换数据类型进行操作. 其四,_root.getBytesLoaded();表示什么?本场景的字节吗?如果想全局的话用_global好不. 其五,gotoAndPlay("场景 1",1);使用汉字做场景名称的话,并不是程序推荐的作法. 其六,Math.round()是什么意思?四舍五入吗?不准确吧,换int吧. 总结:其它都是小问题,_root换成_global,可能是主要的问题所在,
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部