你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
cuixueying
赞同来自:
package { import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.Sprite; import fash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.net.URLRequest; public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); this.stage.scaleMode = StageScaleMode.NO_SCALE; this.stage.align = StageAlign.TOP_LEFT; IFlash.setSize(1000, 600); //2D项目中设置场景尺寸 IFlash.setOrientationEx(1); //是否为横屏模式 IFlash.setBgcolor("#000000"); //背景色 IFlash.showInfo(false); //是否显示帧率 preSwfAssetsTest(); } /** * 测试预加载 * */ private function preSwfAssetsTest():void { var path:String = "assets/layaAsset.swf"; var path1:String = "assets/layaAsset1.swf"; IFlash.preSwfAssets([path,path1]);//这里开始调用预加载 var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener (Event.COMPLETE, layaAssetLoadComplete); loader.load(new URLRequest(path)); } private function layaAssetLoadComplete(event:Event):void { var loaderInfo:LoaderInfo = event.target as LoaderInfo; loaderInfo.removeEventListener(Event.COMPLETE, layaAssetLoadComplete); //code here. } } }
要回复问题请先登录
1 个回复
cuixueying
赞同来自:
由于LayaFlash实现的MovieClip并非在初始化的时候将资源全部加载,而是在需要的时候才加载,这会导致使用MovieClip对象时,有可能会因为首次播放动画,网速慢或图片较大等原因造成加载过程不连贯的不友好体验
,开发者可以采用LayaFlash提供的IFlash.preSwfAssets方法,通过预加载方式解决这个问题。
按如上示例即可完成资源预加载。这里特别提醒两点,一是预加载操 作必须放在资源执行加载的代码之前;二是预加载要谨慎使用,不能滥用。当预加载的资源过大的时候,也会造成加载等待时间长的问题,哪怕是多等待几秒,都会造成游戏用户的流失。因此,是否采用预加载,预加载的使用尺度,要根据游戏的实际情况来把握。