Cocossharp - Xamarin - приложение неожиданно закрывается

Michael Guerra MSPG спросил: 28 марта 2018 в 03:55 в: c#

У меня есть ошибка на Xamarin And CocosSharp (CocosSharp PCL), когда я загружаю Sprite Sheets, приложение закрывается без ошибок, код загружает около 46 спрайтов в одной анимации, во второй загрузке анимации по индексу 5 приложения закрываются, Я обнаружил строку, в которой приложение закрывается. здесь мой код:

spriteSheet = новый CCSpriteSheet (файл);

class AnimatedSprite : Sprite
{CCAnimation animation;
CCRepeatForever Repeat;
        List<Resource> ImageList;    CCSpriteSheet spriteSheet;
    public AnimatedSprite(AnimatedSpriteTemplate template)
        : base(template.Folder + template.Screen_Resolution + "/" + template.Image_Prefix + template.Screen_Resolution + template.Image_NumberSubfix + "_00000" + template.Image_Subfix, template.Name, template.Section)
    {
        //animation = new CCAnimation();        List<CCSpriteFrame> animationFrames = new List<CCSpriteFrame>();        try
        {
            ImageList = new List<Resource>();
            for (int i = 0; i < template.ImagesCount; i += 1)
            {
                string File = template.Folder + template.Screen_Resolution + "/" + template.Image_Prefix + template.Image_NumberSubfix;                File += i;                File += template.Image_Subfix;                spriteSheet = new CCSpriteSheet(File); //<--------- Here is the line                spriteSheet.Frames.ForEach(animationFrames.Add);                //**********************************************
                LoadingScreen.LoadCount += 1;
                //**********************************************            }            animation = new CCAnimation(animationFrames, 0.04f);
            Repeat = new CCRepeatForever(new CCAnimate(animation));
            cCSprite = new CCSprite(animationFrames.First()) { Name = template.Name };
            //cCSprite.AddAction(Repeat);
        }
        catch(Exception ex)
        {
            System.Console.Write("MSPGSOFT:" + ex.Message);
        }
    }
}

Мне нужно разработать игру на основе 100% на анимированных спрайтах, поэтому мне действительно нужна помощь, спасибо вам всем сейчас

1 ответ

Michael Guerra MSPG ответил: 30 марта 2018 в 02:16

Хорошо,

После исследования я понял, что слишком много текстур для загрузки, поэтому я решил использовать TexturePacker, который упаковал более 600 текстур в 20 текстур, ошибка была GPU вернулся из памяти. в настоящее время приложение работает