Cocos2d сохраняет объект в С#

77
5

У меня есть метод, который устанавливает CCAnimation для меня

public CCAnimation SetupAnimations(string prefixOFSprite, int numberOfFrames, int startFrame)
{
//me getting desperate and doing any old initilisation
CCAnimation finalAnimation = new CCAnimation();
finalAnimation = CCAnimation.animation();

for (int i = startFrame; i < numberOfFrames + 1; i++)
{
finalAnimation.addFrameWithFileName(prefixOFSprite + "-" + i);
}

float delay = 0.07f;
finalAnimation.setDelay(delay);

return finalAnimation;

Кого я называю так

whiteDogBeginFalling = SetupAnimations("GameGraphics/dog/falling/white-falling", 7, 1)

Но анимация не играет, когда я запускаю игру :( Это я портирую свою игру из iOS, и я обошел эту проблему, добавив

[whiteDogBeginFalling retain]

прямо после вызова метода.

Как вы это делаете в версии С# для cocos2d? Или может кто-нибудь помочь мне придумать другое решение?

заранее спасибо

спросил(а) 2021-01-19T16:30:30+03:00 6 месяцев, 1 неделя назад
1
Решение
64

"проблема с добавлением сохранения" звучит так, будто вы не понимали управление памятью ObjC (в то время).

Я бы исследовал возможность того, что сохранение в коде ObjC не так для начала. Поскольку в С# не сохраняется, и объект, по-видимому, выпущен на С#, это означает, что ссылки на объект отсутствуют, поэтому он будет собирать мусор. Это указывает на то, что сохранение в версии ObjC устраняет проблему выпуска объекта, но у вас может быть утечка памяти.

Если вы можете выяснить, как правильно исправить проблему в ObjC, вы также узнаете, что делать, чтобы исправить ее в версии С#.

ответил(а) 2021-01-19T16:30:30+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема