| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 | ||
Спасибо за ответ, но немного не то, что я спрашивал... По поводу анимации спрайтов я знаю и знаю, что очень много методов animate, но вопрос состоял в другом: "Как мне заставить спрайт анимироваться с первого тайла?" Если я уже использовал спрайт, затем удалил его со сцены, но затем опять добавляю, то он начинает анимироваться с того тайла, на котором остановился, а не с первого. Мне нужно заставить его анимироваться с первого тайла. |
| Автор: Dapo 9.4.2012, 08:30 |
| Вы ответ читаете? если вы вызовете spriteOne.animate(new long[]{}, new int[]{},-1); в любой момент времени (даже если она уже выполняется), анимация начинется с 0-го фрейма и аттач/детач тут не причем. У вас в другом проблема, скорее всего. Вызовите анимацию по-новой сразу после аттач-а. |