Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Подскажите, пожалуйста, по AndEngine


Автор: Oligarh 1.4.2012, 20:53
Подскажите, пожалуйста, по AndEngine... У меня есть несколько анимированных спрайтов, которые используются поочередно в сочетании с одним анимированным спрайтом. Если я использую спрайт_1 со спрайтом спрайт_2 (спрайт_2.attachChild(спрайт_1)), потом делаю (спрайт_2.detachChild(спрайт_1)), дальше (спрайт_3.attachChild(спрайт_1)), то спрайт_1 начинает анимироваться не с первого тайла, а с того, на котором остановился... Как мне заставить его анимироваться с первого тайла?

 Заранее, благодарен

Автор: Dapo 5.4.2012, 20:35
у AnimatedSprite есть функция stopAnimation(int номер_фрейма), или еще лучше используйте нужный вам метод animate из того огромного списка что вам дает класс AnimatedSprite, например 
spriteOne.animate(new long[]{50,50,50,50,50,50}, new int[]{0,1,2,3,2,1},-1); - бесконечный цикл анимации на каждый фрейм по 50мс. int - номера фреймов,-1 - бесконечно

Автор: Oligarh 7.4.2012, 20:54
Цитата(Dapo @ 5.4.2012,  20:35)
у AnimatedSprite есть функция stopAnimation(int номер_фрейма), или еще лучше используйте нужный вам метод animate из того огромного списка что вам дает класс AnimatedSprite, например 
spriteOne.animate(new long[]{50,50,50,50,50,50}, new int[]{0,1,2,3,2,1},-1); - бесконечный цикл анимации на каждый фрейм по 50мс. int - номера фреймов,-1 - бесконечно

Спасибо за ответ, но немного не то, что я спрашивал... 
По поводу анимации спрайтов я знаю и знаю, что очень много методов animate, но вопрос состоял в другом: "Как мне заставить спрайт анимироваться с первого тайла?" Если я уже использовал спрайт, затем удалил его со сцены, но затем опять добавляю, то он начинает анимироваться с того тайла, на котором остановился, а не с первого. Мне нужно заставить его анимироваться с первого тайла.

Автор: Dapo 9.4.2012, 08:30
Вы ответ читаете? если вы вызовете spriteOne.animate(new long[]{}, new int[]{},-1); в любой момент времени (даже если она уже выполняется), анимация  начинется с 0-го фрейма и аттач/детач тут не причем. У вас в другом проблема, скорее всего. Вызовите анимацию по-новой сразу после аттач-а.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)