Cocos2d сохраняет объект в С#
У меня есть метод, который устанавливает 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? Или может кто-нибудь помочь мне придумать другое решение?
заранее спасибо
"проблема с добавлением сохранения" звучит так, будто вы не понимали управление памятью ObjC (в то время).
Я бы исследовал возможность того, что сохранение в коде ObjC не так для начала. Поскольку в С# не сохраняется, и объект, по-видимому, выпущен на С#, это означает, что ссылки на объект отсутствуют, поэтому он будет собирать мусор. Это указывает на то, что сохранение в версии ObjC устраняет проблему выпуска объекта, но у вас может быть утечка памяти.
Если вы можете выяснить, как правильно исправить проблему в ObjC, вы также узнаете, что делать, чтобы исправить ее в версии С#.