8.08.2012 / 17:31 | |
ckrocket Пользователь Сейчас: Offline
Имя: Miha Откуда: Петербург Регистрация: 31.05.2012
| Little_Fox, на твой пост ( 08.08.2012 / 15:06) отвечу, глянь вот этот. с него хорошо начинать т,к. он на основы. |
9.08.2012 / 02:25 | |
warlock Пользователь Сейчас: Offline
Имя: Макс Откуда: Белгород Регистрация: 06.04.2011
| Подскажите пожалуйста как сделать анимацию персонажа . Имеется файл hero.png он разбит на 32 фрейма ( по 4 в каждую сторону ) и мне нужно что бы например я нажимаю влево и на экран выводятся фреймы 4,5,6,7. Пробывал так : int[] i ={4,5,6,7}; this.setFrameSequence(i); не работает , на экран выводится только первый фрейм указанный в массиве . Пробывал еще добавлять this.nextFrame() все равно не работает . Может есть пример какой нить ? я б посмотрел
|
9.08.2012 / 07:54 | |
Dmitriy Пользователь Сейчас: Offline
Имя: Дмитрий Откуда: В тайге живу Регистрация: 07.03.2010
| this.setFrameSequence(i[])
|
9.08.2012 / 08:53 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Dmitriy, сказал, как отрезал. Надо парой ставить setFrameSequence + nextFrame. Причём они не должны идти подряд, иначе каждый раз заново будет ставится последовательность, а nextFrame не будет работать должным образом.
__________________
let live Изменено aNNiMON (9.08 / 12:20) (всего 3 раза) |
9.08.2012 / 11:58 | |
warlock Пользователь Сейчас: Offline
Имя: Макс Откуда: Белгород Регистрация: 06.04.2011
| Аннимон а можно как нибудь регулировать скорость анимации без отдельного потока ?
|
9.08.2012 / 12:06 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| warlock, Нужно
|
9.08.2012 / 12:21 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| warlock, нет. Разве что лишние кадры анимации вставлять.
__________________
let live |
9.08.2012 / 12:24 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| aNNiMON, да можно, ты че
|
9.08.2012 / 12:40 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| DominaN, как?
__________________
let live |
9.08.2012 / 12:46 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| public class Animation {
int[] sequence;
int sequence_position;
long lastTime;
public int fps, currentFrame = 0;
public Animation() {
}
public void setSequence(int[] seq) {
sequence = seq;
currentFrame = sequence[0];
}
public void checkSequence() {
long currentTime = System.currentTimeMillis();
if (currentTime - lastTime > 1000/fps) {
sequence_position = (sequence_position == seq.length - 1) ? 0 : sequence_position + 1;
currentFrame = sequence[sequence_position];
lastTime = currentTime;
}
}
}
Изменено DominaN (9.08 / 12:47) (всего 1 раз) |