Archived
0

style(all)

This commit is contained in:
2013-10-31 01:00:12 +04:00
parent d4dd335772
commit 077cd15235
3 changed files with 104 additions and 104 deletions

View File

@@ -8,11 +8,11 @@ public class Sprite2 extends Texture {
private int count_frames;
private int[][] frames_coords;
private void prepare_sprite(int width, int height){
private void prepare_sprite(int width, int height) {
width_frame = width;
height_frame = height;
count_frames = (int)(Math.floor(this.getWidth() / width_frame) * Math.floor(this.getHeight() / height_frame));
count_frames = (int) (Math.floor(this.getWidth() / width_frame) * Math.floor(this.getHeight() / height_frame));
frames_coords = new int[4][count_frames];
}

View File

@@ -20,7 +20,7 @@ public class Texture {
private IntBuffer imageData;
private int rgb_array_size;
private void _init(BufferedImage image){
private void _init(BufferedImage image) {
bind_id = GL11.glGenTextures();
this.image = image;
prepare_opengl();
@@ -41,7 +41,7 @@ public class Texture {
}
}
private void prepare_opengl(){
private void prepare_opengl() {
GL11.glBindTexture(GL11.GL_TEXTURE_2D, bind_id);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
@@ -49,15 +49,15 @@ public class Texture {
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_REPEAT);
}
private void prepare_image(){
if(width != image.getWidth() || height != image.getHeight()){
private void prepare_image() {
if (width != image.getWidth() || height != image.getHeight()) {
width = image.getWidth();
height = image.getHeight();
one_pixel_w = (100F / width) / 100F;
one_pixel_h = (100F / height) / 100F;
rgb_array_size = width * height;
imageData = ByteBuffer.allocateDirect(4 * rgb_array_size).order(ByteOrder.nativeOrder()).asIntBuffer();
}else{
} else {
imageData.clear();
}
@@ -68,56 +68,58 @@ public class Texture {
GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA, width, height, 0, GL12.GL_BGRA, GL12.GL_UNSIGNED_INT_8_8_8_8_REV, imageData);
}
public void bind(){
public void bind() {
GL11.glBindTexture(GL11.GL_TEXTURE_2D, bind_id);
}
public int getWidth(){
public int getWidth() {
return width;
}
public int getHeight(){
public int getHeight() {
return height;
}
public BufferedImage getImage(){
public BufferedImage getImage() {
return image;
}
public void setImage(BufferedImage image){
public void setImage(BufferedImage image) {
this.image = image;
prepare_image();
}
public void setImage(InputStream stream){
try{
public void setImage(InputStream stream) {
try {
BufferedImage image = ImageIO.read(stream);
stream.close();
setImage(image);
} catch(Exception e){
} catch (Exception e) {
e.printStackTrace();
}
}
public void updateTexture(){
public void updateTexture() {
prepare_image();
}
/**
* Преобразует обычные пиксельные координаты в относительные
*
* @param x
* @return
*/
public float floatX(int x){
public float floatX(int x) {
return one_pixel_w * x;
}
/**
* Преобразует обычные пиксельные координаты в относительные
*
* @param y
* @return
*/
public float floatY(int y){
public float floatY(int y) {
return one_pixel_h * y;
}

View File

@@ -7,7 +7,7 @@ import ru.dmitriymx.game.engine.Sprite;
public class Prometheus implements TexturedObject {
public static int K = 4;
private final double _180_DIV_PI = 180/Math.PI;
private final double _180_DIV_PI = 180 / Math.PI;
private final int WIDTH, HEIGHT;
private final int SPEED = 2 * K;
private int x, y = 0;
@@ -16,7 +16,7 @@ public class Prometheus implements TexturedObject {
private boolean is_run = false;
private boolean run_left = false;
public Prometheus(){
public Prometheus() {
WIDTH = 48;
HEIGHT = 32;
body = new Sprite(Prometheus.class.getResourceAsStream("/ru/dmitriymx/game/mw-prometheus-01.png"), WIDTH, HEIGHT);
@@ -56,19 +56,17 @@ public class Prometheus implements TexturedObject {
@Override
public void render() {
int _x = get_center_x();
if(_x > Mouse.getX()){
if (_x > Mouse.getX()) {
sprite_inverse = true;
}
else if(_x < Mouse.getX()){
} else if (_x < Mouse.getX()) {
sprite_inverse = false;
}
if(is_run){
if((!run_left && !sprite_inverse) || (run_left && sprite_inverse)){
if (is_run) {
if ((!run_left && !sprite_inverse) || (run_left && sprite_inverse)) {
body.nextFrame();
gun.nextFrame();
}
else if((run_left && !sprite_inverse) || (!run_left && sprite_inverse)){
} else if ((run_left && !sprite_inverse) || (!run_left && sprite_inverse)) {
body.prevFrame();
gun.prevFrame();
}
@@ -84,33 +82,33 @@ public class Prometheus implements TexturedObject {
this.x += oX;
this.y += oY;
if(oX < 0){
if (oX < 0) {
run_left = true;
} else {
run_left = false;
}
}
public int getSpeed(){
public int getSpeed() {
return SPEED;
}
public void setRun(boolean value){
public void setRun(boolean value) {
is_run = value;
if(!value){
if (!value) {
body.setFrame(0);
gun.setFrame(0);
}
}
private void render_body(Sprite.Coords frame){
private void render_body(Sprite.Coords frame) {
body.bind();
GL11.glPushMatrix();
GL11.glTranslatef(x, y, 0);
GL11.glBegin(GL11.GL_QUADS);
if(!sprite_inverse){
if (!sprite_inverse) {
GL11.glTexCoord2f(body.floatX(frame.x1), body.floatY(frame.y1));
GL11.glVertex2f(0, 0);
GL11.glTexCoord2f(body.floatX(frame.x2), body.floatY(frame.y1));
@@ -134,10 +132,10 @@ public class Prometheus implements TexturedObject {
GL11.glPopMatrix();
}
private void render_gun(Sprite.Coords frame){
private void render_gun(Sprite.Coords frame) {
int _x;
int _y = y + (5 * K);
if(!sprite_inverse){
if (!sprite_inverse) {
_x = x + (19 * K);
} else {
@@ -147,7 +145,7 @@ public class Prometheus implements TexturedObject {
int offcetY = -16 * K;
int mX = Mouse.getX();
int mY = Display.getHeight() - Mouse.getY();
float angle = (float)(Math.atan2(mY - _y, mX - _x) * _180_DIV_PI);
float angle = (float) (Math.atan2(mY - _y, mX - _x) * _180_DIV_PI);
gun.bind();
GL11.glPushMatrix();
@@ -155,7 +153,7 @@ public class Prometheus implements TexturedObject {
GL11.glRotatef(angle, 0, 0, 1);
GL11.glBegin(GL11.GL_QUADS);
if(!sprite_inverse){
if (!sprite_inverse) {
GL11.glTexCoord2f(gun.floatX(frame.x1), gun.floatY(frame.y1));
GL11.glVertex2f(offcetX, offcetY);
GL11.glTexCoord2f(gun.floatX(frame.x2), gun.floatY(frame.y1));
@@ -179,7 +177,7 @@ public class Prometheus implements TexturedObject {
GL11.glPopMatrix();
}
private int get_center_x(){
private int get_center_x() {
return x + ((WIDTH * K) / 2);
}
}