Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import processing.core.*;
- public class animation extends PApplet{
- public static void main(String[] args) {
- PApplet.main("animation");
- }
- controls keyboard;
- PImage[] images = new PImage[14];
- PImage bg;
- PFont fpsFont;
- public void setup() {
- frameRate(60);
- }
- public void settings() {
- fullScreen(P2D);
- loop();
- for(int i = 0; i < images.length; i++) {
- images[i] = loadImage("data/harambe/frame" + i + ".png");
- System.out.println("#// loaded 'data/harambe/frame" + i + ".png'");
- }
- bg = loadImage("data/bg.jpg");
- System.out.println("#// LOADED ALL DATA");
- System.out.println();
- }
- int frame = 0;
- float framefloat = 0;
- float xpos = 100,
- ypos = 100,
- triggerrate = 0;
- int speed = 1;
- int dir = 1;
- boolean moving = false,
- triggered = false;
- boolean goUp, goDown, goLeft, goRight;
- float curTime = millis(), prevTime = millis(), elapTime = 0;
- public void draw() {
- curTime = millis();
- elapTime = (float)1e-3 * (curTime - prevTime);
- prevTime = curTime;
- if(moving) {
- framefloat = framefloat + images.length * elapTime;
- }
- else {
- framefloat = 0;
- }
- frame = (int)framefloat;
- if(framefloat > images.length) { framefloat = framefloat - images.length; }
- if(frame > images.length - 1) { frame = frame - images.length; }
- image(bg, 0, 0, (int)(height * 1.8), height);
- fill(0);
- textSize(20);
- textAlign(LEFT);
- text("FPS: " + frameRate, 0, 20);
- fill(triggerrate / 100 * 255, 0, 0);
- textAlign(CENTER);
- textSize(20 + triggerrate);
- text(
- (int)(triggerrate) + "%",
- xpos + images[0].width / 2 + triggerrate / 20 * random(-1, 1),
- ypos - triggerrate + triggerrate / 20 * random(-1, 1));
- if (triggered && triggerrate > 100) { triggered = false; }
- pushMatrix();
- scale(dir, 1);
- if(triggered) { translate(triggerrate * random(-1, 1),
- triggerrate * random(-1, 1));
- triggerrate = (float)(triggerrate + 20 * elapTime);
- tint(255, 255 - triggerrate / 100 * 255, 255 - triggerrate / 100 * 255);
- }
- else if(triggerrate > 0) {
- translate(triggerrate * random(-1, 1),
- triggerrate * random(-1, 1));
- triggerrate = (float)(triggerrate - 20 * elapTime);
- tint(255, 255 - triggerrate / 100 * 255, 255 - triggerrate / 100 * 255);
- }
- if(dir == -1) { translate(- images[0].width, 0); }
- image(images[frame], xpos * dir, ypos);
- tint(255);
- popMatrix();
- moving = false;
- keyboard.check();
- if(keyboard.goUp) {
- if(ypos > 0) {
- moving = true;
- ypos = ypos - speed * 100 * elapTime;
- }
- }
- if(keyboard.goDown) {
- if(ypos < height - images[0].height) {
- moving = true;
- ypos = ypos + speed * 100 * elapTime;
- }
- }
- if(keyboard.goLeft) {
- if(xpos > 0) {
- dir = 1;
- moving = true;
- xpos = xpos - speed * 100 * elapTime;
- }
- }
- if(keyboard.goRight) {
- if(xpos < width - images[0].width) {
- dir = -1;
- moving = true;
- xpos = xpos + speed * 100 * elapTime;
- }
- }
- if(keyPressed && key == 't' && !triggered) {
- triggered = true;
- }
- }
- /*
- boolean setMove(int key, boolean b) {
- switch (key) {
- case UP:
- return goUp = b;
- case DOWN:
- return goDown = b;
- case LEFT:
- return goLeft = b;
- case RIGHT:
- return goRight = b;
- default:
- return b;
- }
- }
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement