Package advanced.touchTail

Source Code of advanced.touchTail.TouchTailScene

package advanced.touchTail;

import java.awt.event.KeyEvent;

import org.mt4j.MTApplication;
import org.mt4j.input.gestureAction.TapAndHoldVisualizer;
import org.mt4j.input.inputProcessors.IGestureEventListener;
import org.mt4j.input.inputProcessors.MTGestureEvent;
import org.mt4j.input.inputProcessors.componentProcessors.tapAndHoldProcessor.TapAndHoldEvent;
import org.mt4j.input.inputProcessors.componentProcessors.tapAndHoldProcessor.TapAndHoldProcessor;
import org.mt4j.input.inputProcessors.globalProcessors.CursorTracer;
import org.mt4j.sceneManagement.AbstractScene;
import org.mt4j.util.MTColor;

public class TouchTailScene extends AbstractScene {
  private MTApplication mtApp;
  private TouchTailComponent tails;
 
  public TouchTailScene(MTApplication mtApplication, String name) {
    super(mtApplication, name);
    this.mtApp = mtApplication;
    this.setClearColor(new MTColor(140, 140, 110, 255));
   
    //Create tail component
    tails = new TouchTailComponent(mtApp);
    this.getCanvas().addChild(tails);
   
    //Add tap&hold gesture to clear all tails
    TapAndHoldProcessor tapAndHold = new TapAndHoldProcessor(mtApplication);
    tapAndHold.setMaxFingerUpDist(10);
    tapAndHold.setHoldTime(3000);
    tails.registerInputProcessor(tapAndHold);
    tails.addGestureListener(TapAndHoldProcessor.class, new IGestureEventListener() {
      public boolean processGestureEvent(MTGestureEvent ge) {
        TapAndHoldEvent t = (TapAndHoldEvent)ge;
        if (t.getId() == TapAndHoldEvent.GESTURE_ENDED && t.isHoldComplete()){
          tails.clearTails()
        }
        return false;
      }
    });
    tails.addGestureListener(TapAndHoldProcessor.class, new TapAndHoldVisualizer(mtApp, getCanvas()));
   
    //Add touch feedback
    this.registerGlobalInputProcessor(new CursorTracer(mtApp, this));
  }

  public void keyEvent(KeyEvent e){
    if (e.getID() != KeyEvent.KEY_PRESSED)
      return;
    switch (e.getKeyCode()){
    case KeyEvent.VK_F:
      System.out.println("FPS: " + mtApp.frameRate);
      break;
    case KeyEvent.VK_SPACE:
      tails.clearTails();
    case KeyEvent.VK_PLUS:
      getSceneCam().zoomAmount(5);
      getSceneCam().update();
      break;
    default:
      break;
    }
  }
 
  @Override
  public void init() {
    mtApp.registerKeyEvent(this);
  }

  @Override
  public void shutDown() {
    mtApp.unregisterKeyEvent(this);
  }

}
TOP

Related Classes of advanced.touchTail.TouchTailScene

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.