Guest User

Untitled

a guest
Sep 24th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.07 KB | None | 0 0
  1. package net.sourceforge.desmaster.input;
  2.  
  3. import java.awt.event.KeyEvent;
  4. import java.awt.event.KeyListener;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import net.sourceforge.desmaster.Skyrim.Skyrim;
  9.  
  10. public class InputHandler implements KeyListener {
  11.    
  12.     public static int leftb = KeyEvent.VK_LEFT;
  13.     public static int rightb = KeyEvent.VK_RIGHT;
  14.    
  15.     public class Key {
  16.        
  17.         public int presses, absorbs;
  18.         public boolean down, clicked;
  19.        
  20.         public void tick() {
  21.            
  22.             if (absorbs < presses) {
  23.                 absorbs++;
  24.                 clicked = true;
  25.             } else {
  26.                 clicked = false;
  27.             }
  28.         }
  29.        
  30.         public void toggle(boolean pressed) {
  31.             if (pressed != down) {
  32.                 down = pressed;
  33.             }
  34.            
  35.             if (pressed) {
  36.                 presses++;
  37.             }
  38.         }
  39.        
  40.         public Key() {
  41.             keys.add(this);
  42.         }
  43.     }
  44.    
  45.     public List <Key> keys = new ArrayList<Key>();
  46.    
  47.     public Key left = new Key();
  48.     public Key right = new Key();
  49.     public Key jump = new Key();
  50.     public Key menu = new Key();
  51.     public Key exit = new Key();
  52.     public Key fight = new Key();
  53.     public Key toggleFPS = new Key();
  54.    
  55.     public void releaseAll() {
  56.         for (int i = 0; i < keys.size(); i++) {
  57.             keys.get(i).down = false;
  58.         }
  59.     }
  60.    
  61.     public void tick() {
  62.         for (int i = 0; i < keys.size(); i++) {
  63.             keys.get(i).tick();
  64.         }
  65.         //Skyrim2D.say("input");
  66.     }
  67.    
  68.     public InputHandler(Skyrim game) {
  69.         game.addKeyListener(this);
  70.     }
  71.    
  72.     @Override
  73.     public void keyTyped(KeyEvent e) {
  74.        
  75.     }
  76.  
  77.     @Override
  78.     public void keyPressed(KeyEvent e) {
  79.         toggle(e, true);
  80.     }
  81.  
  82.     @Override
  83.     public void keyReleased(KeyEvent e) {
  84.         toggle(e, false);
  85.     }
  86.    
  87.     public void toggle(KeyEvent e, boolean pressed) {
  88.         if (e.getKeyCode() == leftb) left.toggle(pressed);
  89.         if (e.getKeyCode() == rightb) right.toggle(pressed);
  90.         if (e.getKeyCode() == KeyEvent.VK_SPACE) jump.toggle(pressed);
  91.         if (e.getKeyCode() == KeyEvent.VK_ESCAPE) exit.toggle(pressed);
  92.         if (e.getKeyCode() == KeyEvent.VK_Q) fight.toggle(pressed);
  93.         if (e.getKeyCode() == KeyEvent.VK_F) toggleFPS.toggle(pressed);
  94.         if (e.getKeyCode() == KeyEvent.VK_M) menu.toggle(pressed);
  95.     }
  96. }
Add Comment
Please, Sign In to add comment