Tiny 2D-animation-sprite composer for placing animation loops and making them interactive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gse.pde 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import java.io.File;
  2. import java.io.FileWriter;
  3. import drop.*;
  4. SDrop drop;
  5. PImage backgroundImage;
  6. PGraphics renderer;
  7. String saveFilePath;
  8. int activeMarkers;
  9. int clickedMarkerID;
  10. float scaleFactor = 1.0;
  11. float translateX = 0.0;
  12. float translateY = 0.0;
  13. float viewX, viewY, viewportX, viewportW, viewportR, viewportY, viewportH, viewportB;
  14. boolean zoomedState;
  15. boolean draggingAsset;
  16. boolean isImage(String path) {
  17. if (path.endsWith(".png") || path.endsWith(".PNG") ||
  18. path.endsWith(".gif") || path.endsWith(".GIF")) {
  19. return true;
  20. } else {
  21. return false;
  22. }
  23. }
  24. void setup() {
  25. marker = new Marker[200];
  26. frameRate(24);
  27. size(960, 540);
  28. //fullScreen;
  29. surface.setResizable(true);
  30. smooth();
  31. drop = new SDrop(this);
  32. backgroundImage = loadImage("assets/background.jpg");
  33. renderer = createGraphics(backgroundImage.width, backgroundImage.height);
  34. saveFilePath = dataPath("save.gse");
  35. loadSaveFile();
  36. }
  37. void draw() {
  38. background(246, 246, 244);
  39. calculateViewport();
  40. renderer.beginDraw();
  41. renderer.image(backgroundImage, 0, 0);
  42. renderer.fill(#FF0000);
  43. for (int i = 0; i < activeMarkers; i++) {
  44. marker[i].display();
  45. }
  46. renderer.endDraw();
  47. pushMatrix();
  48. translate(translateX, translateY);
  49. scale(scaleFactor);
  50. image(renderer, 0, 0, width, height);
  51. popMatrix();
  52. }