Tiny 2D-animation-sprite composer for placing animation loops and making them interactive
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

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. }