public boolean canMove(float tx, float ty) { // check world limit if (tx < 0 || tx >= world.getWidth() || ty < 0 || ty >= world.getHeight()) { return false; } return c.collide(Entity.SOLID, tx, ty) == null && c.collide(G.TRAP, tx, ty) == null && c.collideWith(G.playerEntity, tx, ty) == null ? true : false; }
protected void move(int i, int j) { int tx = (int) (c.x + i * G.TILE_SIZE); int ty = (int) (c.y + j * G.TILE_SIZE); // check world limit if (tx < 0 || tx >= world.getWidth() || ty < 0 || ty >= world.getHeight()) { return; } // check collision if (c.collide(c.SOLID, tx, ty) == null || c.collide(G.TRAP, tx, ty) == null) { c.x = tx; c.y = ty; } // checkCollision(tx, ty); }
public void updateMotion(int delta) { if (motion != null) { motion.update(delta); c.setPosition(motion.getPosition()); if (motion.isFinished()) { motion = null; } } }