vito-Z80

Untitled

Mar 16th, 2018
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.56 KB | None | 0 0
  1. public class TestPixMap implements Screen {
  2.  
  3.     private float upp;
  4.     private float pmWidth;      //  ширина пиксмапа
  5.     private float pmHeight;     //  высота пиксмапа
  6.     private float pmXinScreen;  //  координат X расположения пиксмапа на экране
  7.     private float pmYinScreen;  //  координат Y расположения пиксмапа на экране
  8.     private int pmSize;         //  размер пиксмапа на экране (width & height)
  9.     private float screenWidth;
  10.     private float screenHeight;
  11.     private Vector2 screenClick;
  12.     private Vector2 pmClick;
  13.     private Pixmap pixmap;
  14.     private Texture texture;
  15.  
  16.     private SpriteBatch batch;
  17.  
  18.     @Override
  19.     public void show() {
  20.         screenClick = new Vector2();
  21.         pmClick = new Vector2();
  22.         batch = new SpriteBatch();
  23.         screenWidth = Gdx.graphics.getWidth();
  24.         screenHeight = Gdx.graphics.getHeight();
  25.         pmWidth = 256;
  26.         pmHeight = 256;
  27.         pmXinScreen = 194;
  28.         pmYinScreen = 206;
  29.         pmSize = 111;
  30.         pixmap = new Pixmap((int) pmWidth, (int) pmHeight, Pixmap.Format.RGBA8888);
  31.         pixmap.setColor(Color.ORANGE);
  32.         pixmap.fill();
  33.         texture = new Texture(pixmap);
  34.     }
  35.  
  36.     @Override
  37.     public void render(float delta) {
  38.         Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT);
  39.         update();
  40.         batch.begin();
  41.         batch.draw(texture, pmXinScreen, pmYinScreen, pmSize, pmSize);
  42.         batch.end();
  43.     }
  44.  
  45.     private void update() {
  46.         upp = screenWidth < screenHeight ? pmWidth / pmSize : pmHeight / pmSize;
  47.         listener();
  48.         drawInPm();
  49.     }
  50.  
  51.     private void drawInPm() {
  52.         pixmap.setColor(Color.GREEN);
  53.         pixmap.fillCircle((int) pmClick.x, (int) pmClick.y, 4);
  54.         texture.draw(pixmap, 0, 0);
  55.     }
  56.  
  57.     private void listener() {
  58.         float screenX = Gdx.input.getX();
  59.         float screenY = screenHeight - Gdx.input.getY();
  60.         screenClick.set(screenX, screenY);
  61.         float pmX = (screenX - pmXinScreen) * upp;
  62.         float pmY = pmHeight - (screenY - pmYinScreen) * upp;
  63.         pmClick.set(pmX, pmY);
  64.         System.out.print(upp);
  65.         System.out.println(pmClick);
  66.     }
  67.  
  68.     @Override
  69.     public void resize(int width, int height) {
  70.  
  71.     }
  72.  
  73.     @Override
  74.     public void pause() {
  75.  
  76.     }
  77.  
  78.     @Override
  79.     public void resume() {
  80.  
  81.     }
  82.  
  83.     @Override
  84.     public void hide() {
  85.  
  86.     }
  87.  
  88.     @Override
  89.     public void dispose() {
  90.  
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment