class FrameAnim { PImage[] frames; int index, start, end; int rate; int wait; FrameAnim(String name, int num) { index = start = end = 0; rate = 2; wait = 2; frames = new PImage[num]; for(int i=0 ; i < num ; i++) { frames[i] = loadImage(name + "/chara_" + nf(i,2) + ".png"); } } PImage img() { return frames[index]; } void setAnim(int st, int len, int _rate) { start = index = st; end = start + len; rate = _rate; wait = 0; } void step() { wait++; if(wait > ( 30 / rate ) ) { wait = 0; index++; if(index >= end) index = start; } } }