Hi Guys, I tried sending a simple message to the SGSJME Server but no luck. :-\
The error prompt: Uncaught exception java/lang/NullPointerException.
Below are part of my codes.
public void run()
{
while( true )
{
tick();
sendServerMessage();
}
}
public void tick()
{
int myImageSpeed = 8;
switch( imageDirection )
{
case LEFT:
myImageX-=myImageSpeed;
break;
case RIGHT:
myImageX+=myImageSpeed;
break;
case UP:
myImageY-=myImageSpeed;
break;
case DOWN:
myImageY+=myImageSpeed;
break;
}
repaint();
serviceRepaints();
}
protected void keyPressed( int keyCode )
{
if (this.getGameAction(keyCode) == UP) {
imageDirection = UP;
keyStatus = KEY_NUM2;
}
else if (this.getGameAction(keyCode) == DOWN) {
imageDirection = DOWN;
keyStatus = KEY_NUM8;
}
else if (this.getGameAction(keyCode) == LEFT) {
imageDirection = LEFT;
keyStatus = KEY_NUM4;
}
else if (this.getGameAction(keyCode) == RIGHT) {
imageDirection = RIGHT;
keyStatus = KEY_NUM6;
}
else {
keyStatus = keyCode;
}
}
protected void keyReleased( int keyCode )
{
imageDirection = 0;
keyStatus = 0;
}
private void sendServerMessage() {
String message = "";
String dataString = message.toString();
switch(keyStatus) {
// UP
case KEY_NUM2:
System.out.println("UP");
message = "Up";
ByteBuffer data = ByteBuffer.wrap(dataString.getBytes());
clientMgr.sendServerMessage(data);
break;
// DOWN
case KEY_NUM8:
System.out.println("DOWN");
message = "Down";
ByteBuffer data1 = ByteBuffer.wrap(dataString.getBytes());
clientMgr.sendServerMessage(data1);
break;
// RIGHT
case KEY_NUM6:
System.out.println("RIGHT");
message = "Right";
ByteBuffer data2 = ByteBuffer.wrap(dataString.getBytes());
clientMgr.sendServerMessage(data2);
break;
// LEFT
case KEY_NUM4:
System.out.println("LEFT");
message = "Left";
ByteBuffer data3 = ByteBuffer.wrap(dataString.getBytes());
clientMgr.sendServerMessage(data3);
break;
// FIRE
case 5:
break;
default:
}
}