Optimize collision processing
This commit is contained in:
parent
a42acb0d59
commit
407a3b4f5b
@ -23,7 +23,10 @@ public class InfluenceXXII implements ApplicationListener {
|
||||
enemies.setScreenParameters(width, height);
|
||||
for (int i = 0; i < 5; i++) {
|
||||
enemies.addEnemy();
|
||||
}}
|
||||
}
|
||||
|
||||
pointer.setEnemiesController(enemies);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
@ -39,10 +42,6 @@ public class InfluenceXXII implements ApplicationListener {
|
||||
// Draw enemies
|
||||
enemies.draw(renderer);
|
||||
|
||||
// Check collide
|
||||
boolean isCollide = enemies.isCollide(pointer.getX(), pointer.getY());
|
||||
pointer.setMode(isCollide ? Pointer.READY : Pointer.POSITIONING);
|
||||
|
||||
// Draw pointer
|
||||
pointer.draw(renderer);
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
*/
|
||||
public class Pointer {
|
||||
|
||||
public static final int POSITIONING = 0, READY = 1;
|
||||
private static final int POSITIONING = 0, READY = 1;
|
||||
|
||||
private boolean isAccelerometerSupports, isHardwareKeyboardSupports;
|
||||
|
||||
@ -18,6 +18,8 @@ public class Pointer {
|
||||
private float x, y;
|
||||
private int mode;
|
||||
|
||||
private EnemiesController enemies;
|
||||
|
||||
public Pointer(float width, float height) {
|
||||
x = width / 2;
|
||||
y = height / 2;
|
||||
@ -31,16 +33,8 @@ public class Pointer {
|
||||
}
|
||||
}
|
||||
|
||||
public float getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
public float getY() {
|
||||
return y;
|
||||
}
|
||||
|
||||
public void setMode(int mode) {
|
||||
this.mode = mode;
|
||||
public void setEnemiesController(EnemiesController controller) {
|
||||
this.enemies = controller;
|
||||
}
|
||||
|
||||
public void setScreenParameters(float width, float height) {
|
||||
@ -56,6 +50,7 @@ public class Pointer {
|
||||
|
||||
public void draw(ShapeRenderer renderer) {
|
||||
control();
|
||||
mode = enemies.isCollide(x, y) ? READY : POSITIONING;
|
||||
DrawUtils.drawPointer(renderer, x, y, screenWidth, screenHeight, mode);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user