00001
00002
00003
00004
00005
00006 package org.classroomgaming.cgp;
00007
00008 import java.awt.event.KeyEvent;
00009 import java.awt.event.KeyListener;
00010
00015 public class KeyboardModule extends GameModule implements KeyListener {
00016
00017 KeyboardModule(GameModule g)
00018 {
00019 parent = g;
00020 enabled = true;
00021 }
00022
00023 public void keyReleased( KeyEvent e ) { }
00024
00025 public void keyPressed(KeyEvent e) {}
00026 public void keyTyped( KeyEvent e ) {
00027 if (!enabled)
00028 return;
00029 Entity playerObj;
00030 try {
00031 playerObj = ((GameWorld)parent).getObjectByName("Player");
00032 } catch (ClassCastException e1) {
00033 return;
00034 }
00035 AnimatedSprite animMod;
00036 try {
00037 animMod = (AnimatedSprite) playerObj.getModule("AnimatedSprite");
00038 } catch (ClassCastException e2) {
00039 return;
00040 }
00041 float xpos = playerObj.getX();
00042 float ypos = playerObj.getY();
00043 char i = e.getKeyChar();
00044 e.consume();
00045
00046
00047 if ((char) i == 'w' || i == 39 || (char) i == '8') {
00048 ypos = ypos - 1;
00049 animMod.play("up");
00050
00051 } else if ((char) i == 's' || i == 40 || (char) i == '2') {
00052 ypos = ypos + 1;
00053 animMod.play("down");
00054
00055 } else if ((char) i == 'a' || i == 37 || (char) i == '4') {
00056 xpos = xpos - 1;
00057 animMod.play("left");
00058
00059 } else if ((char) i == 'd' || i == 38 || (char) i == '6') {
00060 xpos = xpos + 1;
00061 animMod.play("right");
00062
00063 }
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077 playerObj.setX(xpos);
00078 playerObj.setY(ypos);
00079 Camera c = CameraManager.getInstance().getActiveCamera();
00080 c.setX(xpos);
00081 c.setY(ypos);
00082 return;
00083 }
00084
00085
00086 }