Add aim control
This commit is contained in:
parent
19388f2e66
commit
1f9e02be8e
@ -2,18 +2,24 @@ package com.annimon.militaryhero;
|
||||
|
||||
import com.annimon.jecp.ApplicationListener;
|
||||
import com.annimon.jecp.Graphics;
|
||||
import com.annimon.jecp.Image;
|
||||
import com.annimon.jecp.Jecp;
|
||||
import com.annimon.jecp.Keys;
|
||||
|
||||
/**
|
||||
* @author aNNiMON
|
||||
*/
|
||||
public class MainApp implements ApplicationListener {
|
||||
public class MainApp extends InputProcessor implements ApplicationListener {
|
||||
|
||||
private int width, height;
|
||||
private SniperAim aim;
|
||||
|
||||
public void onStartApp(int width, int height) {
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
aim = new SniperAim(width, height);
|
||||
Jecp.inputListener = this;
|
||||
Keys.numericdAsDpad = true;
|
||||
Keys.wasdAsDpad = true;
|
||||
}
|
||||
|
||||
public void onPauseApp() {
|
||||
@ -23,9 +29,25 @@ public class MainApp implements ApplicationListener {
|
||||
}
|
||||
|
||||
public void onPaint(Graphics g) {
|
||||
g.setColor(0xFFFFFFFF);
|
||||
g.fillRect(0, 0, width, height);
|
||||
aim.draw(g);
|
||||
}
|
||||
|
||||
public void onUpdate() {
|
||||
if (isPressed(LEFT)) aim.move(-1, 0);
|
||||
else if (isPressed(RIGHT)) aim.move(1, 0);
|
||||
if (isPressed(UP)) aim.move(0, -1);
|
||||
else if (isPressed(DOWN)) aim.move(0, 1);
|
||||
|
||||
try {
|
||||
Thread.sleep(10);
|
||||
} catch (InterruptedException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void isFirePressed() {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -23,6 +23,18 @@ public class SniperAim {
|
||||
y = (height - aimHeight) / 2;
|
||||
}
|
||||
|
||||
public void move(int dx, int dy) {
|
||||
x += dx;
|
||||
y += dy;
|
||||
|
||||
final int aw2 = aimWidth / 2;
|
||||
if (x < -aw2) x = -aw2;
|
||||
else if (x + aw2 > width) x = width - aw2;
|
||||
final int ah2 = aimHeight / 2;
|
||||
if (y < -ah2) y = -ah2;
|
||||
else if (y + ah2 > height) y = height - ah2;
|
||||
}
|
||||
|
||||
public int getAimX() {
|
||||
return x + aimWidth / 2;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user