Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   переключение игрового скрина без тормозов (http://www.flasher.ru/forum/showthread.php?t=205066)

Vansimar 16.11.2013 19:59

переключение игрового скрина без тормозов
 
Пишу игру на старлинге, но не суть, у меня есть два класа, один класс скрина меню, другой -игры.В каждом есть публичный метод инициализации. Есть менеджер скринов, я создаю два экземпляра в менеджере. и по клику мышки диспатчу событие и переключаю экран. вроде все хорошо было,когда я так написал в начале разработки. но теперь есть куча графики,анимаций, и когда я жму на кнопку игры в меню, секунд 5 игра висит, я могу как то это отловить и сделать прелоадер на загрузку? помогите пожалуйста

derhab 16.11.2013 20:11

Удобная штука Asset Manager

Vansimar 16.11.2013 20:12

я им пользуюсь, но я не понял,как мне это поможет?

derhab 16.11.2013 20:17

тогда я не понял в чем проблема.. если вы грузите внешние ресурсы, сделайте загрузчик и показывайте прогресс

Vansimar 16.11.2013 20:19

да в от я и говорю, как мне его сделать?

Добавлено через 3 минуты
я с помощью этого могу сразу все загрузить assets.enqueue(EmbeddedAssets); ?

derhab 16.11.2013 20:24

есть метод loadQueue(onProgress:Function):void

Добавлено через 1 минуту
Цитата:

Сообщение от Vansimar (Сообщение 1152718)
я с помощью этого могу сразу все загрузить assets.enqueue(EmbeddedAssets); ?

это не загрузка, а только помещение в очередь

Vansimar 16.11.2013 20:40

блин..я все таки не использую asset Manager.. у меня есть класс
Код AS3:

public class Assets
        {
                private static var gameTextures:Dictionary = new Dictionary();
 
                private static var HeroTextureAtlas:TextureAtlas;
 
                [Embed(source="../media/graphics/heroSpriteSheet.png")]
                public static const AtlasTextureHero:Class;
 
                [Embed(source="../media/graphics/heroSpriteSheet.xml", mimeType="application/octet-stream")]
                public static const AtlasXmlHero:Class;
......

и загружаю так
Код AS3:

public static function getAtlasHero():TextureAtlas
                {
                        if (HeroTextureAtlas == null)
                        {
                                var texture:Texture = getTexture("AtlasTextureHero");
                                var xml:XML = XML(new AtlasXmlHero());
                                HeroTextureAtlas = new TextureAtlas(texture, xml);
                        }
                        return HeroTextureAtlas;
                }
 
                public static function getTexture(name:String):Texture
                {
                        if (gameTextures[name] == undefined)
                        {
                                var bitmap:Bitmap = new Assets[name]();
                                gameTextures[name] = Texture.fromBitmap(bitmap);
                        }
                        return gameTextures[name];
                }

сделал прелоадер на первый кадр,чтоб он загрузил все во втором кадре, но все равно когда жму на кнопку ,игра зависает на 5 секунд

Akopalipsis 16.11.2013 21:31

Примерно вот так будет с Asset Manager.

Vansimar 16.11.2013 21:37

А как быть со спрайтщитами которые вот так подключаются?
Код AS3:

private static var HouseTextureAtlas:TextureAtlas;
                [Embed(source="../media/graphics/houseSpriteSheet.png")]
                public static const AtlasTextureHouse:Class;
                [Embed(source="../media/graphics/houseSpriteSheet.xml", mimeType="application/octet-stream")]
                public static const AtlasXmlHouse:Class;


Akopalipsis 16.11.2013 21:48

Цитата:

А как быть со спрайтщитами которые вот так подключаются?
Или Вы не разглядели мой пример или я Вас не понимаю. Как быть, грузить и подключать.
У меня же там два класса, один с классами ассетов, а другой класс их грузит. В нем то прогресс бар и можно сделать.


Часовой пояс GMT +4, время: 12:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.