As3预加载器问题
你好,我正在尝试在 flash builder 中制作预加载器。我想在加载所有项目时缩放我的加载栏。但是当我开始游戏时,它只是在白屏上等待并跳过加载屏幕。谁能帮我解决这个问题
public class OYLoadManager extends Sprite
{
private var main:CagryInside;
//////////////////Load Manager Items/////////////////////////////
[Embed(source="../Resources/loadImages/loadBackground.png")]
private var loadBackgroundClass:Class;
private var loadBackground:Bitmap = new loadBackgroundClass() ;
[Embed(source="../Resources/loadImages/loadBar.png")]
private var loadBarClass:Class ;
private var loadBar : Bitmap = new loadBarClass() ;
private static const loadBarWidth:Number = 612;
private var loadManager:Loader = new Loader();
public function OYLoadManager(getMain:CagryInside)
{
main = getMain;
// Initializing Load Manager
loadBar.x = 226;
loadBar.y = 396;
loadBar.width = 0 ;
//Load Screen images
main.addChild(loadBackground);
main.addChild(loadBar);
//main.gameStateManager.selectGameStates(1);
loadManager.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,loadScreen);
loadManager.contentLoaderInfo.addEventListener(Event.COMPLETE, finishProcess);
loadManager.load(new URLRequest("playerProductInstall.swf"));
}
public function finishProcess(event:Event):void{
// removeLoadManagerMenu();
main.gameStateManager.selectGameStates(1);
}
public function loadScreen(event:ProgressEvent):void{
var ratio:Number = event.bytesLoaded / event.bytesTotal;
//loadBar.width += loadBarWidth/loadedObjectNumber ;
loadBar.scaleX = ratio;
}
Hi i am trying to make preloader in flash builder. I wanna scale my load bar while all of items loading . But when i start my game its just waiting on white screen and skips load screen. Can anyone help me to fix this problem
public class OYLoadManager extends Sprite
{
private var main:CagryInside;
//////////////////Load Manager Items/////////////////////////////
[Embed(source="../Resources/loadImages/loadBackground.png")]
private var loadBackgroundClass:Class;
private var loadBackground:Bitmap = new loadBackgroundClass() ;
[Embed(source="../Resources/loadImages/loadBar.png")]
private var loadBarClass:Class ;
private var loadBar : Bitmap = new loadBarClass() ;
private static const loadBarWidth:Number = 612;
private var loadManager:Loader = new Loader();
public function OYLoadManager(getMain:CagryInside)
{
main = getMain;
// Initializing Load Manager
loadBar.x = 226;
loadBar.y = 396;
loadBar.width = 0 ;
//Load Screen images
main.addChild(loadBackground);
main.addChild(loadBar);
//main.gameStateManager.selectGameStates(1);
loadManager.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,loadScreen);
loadManager.contentLoaderInfo.addEventListener(Event.COMPLETE, finishProcess);
loadManager.load(new URLRequest("playerProductInstall.swf"));
}
public function finishProcess(event:Event):void{
// removeLoadManagerMenu();
main.gameStateManager.selectGameStates(1);
}
public function loadScreen(event:ProgressEvent):void{
var ratio:Number = event.bytesLoaded / event.bytesTotal;
//loadBar.width += loadBarWidth/loadedObjectNumber ;
loadBar.scaleX = ratio;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在任何地方都看不到
stop()
。否则:请确保在导出 ActionScript 类时在第 1 帧中取消选择导出。否则,在 Flash 事件加载预加载器之前,您将加载大量资源。
确保您的第一帧很小的一个非常有用的工具是带宽分析器。用这个。它位于“查看”->“当您从 Flash 测试应用程序/电影时使用带宽分析器。它显示每个帧的大小 - 尝试将第 1 帧保持在 30kb 以下。简单的预加载器比大而精美的图像更好,无论如何加载都需要 10-20 秒。或者至少从一个简单的预加载器开始,然后在资源加载时更改它的外观。
I can't see a
stop()
there anywhere.Otherwise: Make sure when you export your classes for ActionScript that you deselect export in frame 1. Otherwise you'll have a bunch of your assets loading before flash events gets to loading your preloader.
A really useful tool for making sure your first frame is tiny is the bandwidth profiler. Use this. It's at View -> Bandwidth Profiler when you're testing your application/movie from flash. It displays the size of each frame - try keep frame 1 under say 30kb. Simple preloaders are better than big fancy images and such that take 10-20 seconds to load anyway. Or at least start with a simple preloader and then change the appearance of it as assets load.