Вниз  Java-программирование (1-ые посты)
- 8.08.2012 / 17:31
ckrocket
  Пользователь

ckrocket 
Сейчас: Offline
Little_Fox, на твой пост (08.08.2012 / 15:06) отвечу, глянь вот этот.
с него хорошо начинать т,к. он на основы.
- 9.08.2012 / 02:25
warlock
  Пользователь

warlock 
Сейчас: Offline
Подскажите пожалуйста как сделать анимацию персонажа . Имеется файл 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
  Пользователь

Dmitriy 
Сейчас: Offline
this.setFrameSequence(i[])
- 9.08.2012 / 08:53
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Dmitriy, сказал, как отрезал.
Надо парой ставить setFrameSequence + nextFrame. Причём они не должны идти подряд, иначе каждый раз заново будет ставится последовательность, а nextFrame не будет работать должным образом.
__________________
 let live

Изменено aNNiMON (9.08 / 12:20) (всего 3 раза)
- 9.08.2012 / 11:58
warlock
  Пользователь

warlock 
Сейчас: Offline
Аннимон а можно как нибудь регулировать скорость анимации без отдельного потока ?
- 9.08.2012 / 12:06
DominaN
  Пользователь

DominaN 
Сейчас: Offline
warlock, Нужно
- 9.08.2012 / 12:21
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
warlock, нет. Разве что лишние кадры анимации вставлять.
__________________
 let live
- 9.08.2012 / 12:24
DominaN
  Пользователь

DominaN 
Сейчас: Offline
aNNiMON, да можно, ты че
- 9.08.2012 / 12:40
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
DominaN, как?
__________________
 let live
- 9.08.2012 / 12:46
DominaN
  Пользователь

DominaN 
Сейчас: Offline
  1. public class Animation {
  2.  
  3.   int[] sequence;
  4.   int sequence_position;
  5.   long lastTime;
  6.   public int fps, currentFrame = 0;
  7.  
  8.   public Animation() {
  9.   }
  10.  
  11.   public void setSequence(int[] seq) {
  12.     sequence = seq;
  13.    currentFrame = sequence[0];
  14.   }
  15.  
  16.   public void checkSequence() {
  17.     long currentTime = System.currentTimeMillis();
  18.     if (currentTime - lastTime > 1000/fps) {
  19.       sequence_position = (sequence_position == seq.length - 1) ? 0 : sequence_position + 1;
  20.       currentFrame = sequence[sequence_position];
  21.       lastTime = currentTime;
  22.     }
  23.   }
  24. }


Изменено DominaN (9.08 / 12:47) (всего 1 раз)
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)