/examples/basic/css/menus/MenuExampleScene.java

http://mt4j.googlecode.com/ · Java · 95 lines · 67 code · 22 blank · 6 comment · 3 complexity · 1e71812ee3c872e2a323cd85f6441895 MD5 · raw file

  1. package basic.css.menus;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.mt4j.MTApplication;
  5. import org.mt4j.components.css.style.CSSSelector;
  6. import org.mt4j.components.css.util.CSSKeywords.CSSSelectorType;
  7. import org.mt4j.components.css.util.CSSTemplates;
  8. import org.mt4j.input.inputProcessors.IGestureEventListener;
  9. import org.mt4j.input.inputProcessors.MTGestureEvent;
  10. import org.mt4j.input.inputProcessors.componentProcessors.tapProcessor.TapEvent;
  11. import org.mt4j.sceneManagement.AbstractScene;
  12. import org.mt4j.util.math.Vector3D;
  13. import org.mt4jx.components.visibleComponents.widgets.menus.MTHUD;
  14. import org.mt4jx.components.visibleComponents.widgets.menus.MTHexagonMenu;
  15. import org.mt4jx.components.visibleComponents.widgets.menus.MTSquareMenu;
  16. import org.mt4jx.components.visibleComponents.widgets.menus.MenuItem;
  17. import processing.core.PImage;
  18. public class MenuExampleScene extends AbstractScene{
  19. private MTApplication app;
  20. public MenuExampleScene(MTApplication mtApplication, String name) {
  21. super(mtApplication, name);
  22. this.app = mtApplication;
  23. //Set CSS Enabled for all components
  24. app.getCssStyleManager().setGloballyEnabled(true);
  25. //Load a different CSS Style for each component
  26. app.getCssStyleManager().loadStylesAndOverrideSelector(CSSTemplates.MATRIXSTYLE, new CSSSelector("MTHUD", CSSSelectorType.CLASS));
  27. app.getCssStyleManager().loadStylesAndOverrideSelector(CSSTemplates.BLUESTYLE, new CSSSelector("MTHexagonMenu", CSSSelectorType.CLASS));
  28. app.getCssStyleManager().loadStylesAndOverrideSelector(CSSTemplates.REDSTYLE, new CSSSelector("MTSquareMenu", CSSSelectorType.CLASS));
  29. PImage p1 = app.loadImage("basic/css/data/p1.jpg");
  30. PImage p2 = app.loadImage("basic/css/data/p2.jpg");
  31. PImage p3 = app.loadImage("basic/css/data/p3.jpg");
  32. //Create Menu Items
  33. List<MenuItem> menus = new ArrayList<MenuItem>();
  34. menus.add(new MenuItem("Start", new gestureListener("Start")));
  35. menus.add(new MenuItem("Open", new gestureListener("Open")));
  36. menus.add(new MenuItem("Close", new gestureListener("Close")));
  37. menus.add(new MenuItem("Exit", new gestureListener("Exit")));
  38. menus.add(new MenuItem("Save", new gestureListener("Save")));
  39. menus.add(new MenuItem("Load", new gestureListener("Load")));
  40. menus.add(new MenuItem("Cancel", new gestureListener("Cancel")));
  41. menus.add(new MenuItem("Undo", new gestureListener("Undo")));
  42. menus.add(new MenuItem(p1, new gestureListener("Picture Item 1")));
  43. menus.add(new MenuItem(p2, new gestureListener("Picture Item 2")));
  44. menus.add(new MenuItem(p3, new gestureListener("Picture Item 3")));
  45. //Create Square Menu
  46. MTSquareMenu sm = new MTSquareMenu(app, new Vector3D(25,200), menus, 75);
  47. this.getCanvas().addChild(sm);
  48. //Create Hexagon Menu
  49. MTHexagonMenu hm = new MTHexagonMenu(app, new Vector3D(500,200), menus, 100);
  50. this.getCanvas().addChild(hm);
  51. //Create Heads up display (on bottom of the screen)
  52. MTHUD hud = new MTHUD(app,menus, 64, MTHUD.BOTTOM );
  53. this.getCanvas().addChild(hud);
  54. }
  55. public void onEnter() {}
  56. public void onLeave() {}
  57. public class gestureListener implements IGestureEventListener {
  58. String string;
  59. public gestureListener(String string) {
  60. super();
  61. this.string = string;
  62. }
  63. public boolean processGestureEvent(MTGestureEvent ge) {
  64. if (ge instanceof TapEvent) {
  65. TapEvent te = (TapEvent) ge;
  66. if (te.getTapID() == TapEvent.TAPPED) {
  67. System.out.println(string);
  68. }
  69. }
  70. return true;
  71. }
  72. }
  73. }