# Versetzung der "Hitbox"



## H4CKSprogrammer (13. Mrz 2018)

Hallo ich brauch mal wieder Hilfe 

und zwar programmier ich gerade an einem 2D spiel und habe als letztes die einzelnen Bilder also Texturen in ein Sprite geschoben und somit musst ich auch den Code etwas umändern doch seitdem ist irgendwie jede "Hitbox" von jeder Textur verschoben.

Ich habe die Texturen so gepaintet:

```
int minx = (int) (worldx/Texture.tilesize);
        int miny = (int) (worldy/Texture.tilesize);
        int maxx = (int) ((worldx + Main.width)/Texture.tilesize) + 1;
        int maxy = (int) ((worldy + Main.height)/Texture.tilesize) + 1;
       
        if(maxx > width) maxx = width;
        if(maxy > height) maxy = height;
       
       
        for(int x = minx;x < maxx;x++) {
            for(int y = miny;y < maxy;y++) {
                tiles[x] [y].draw(g, (int) worldx * -1, (int) worldy * -1);
            }
        }
```
und die Texturen so aus einer PNG Datei ausgelesen:

```
BufferedImage map = ImageLoader.loadImage("map.png");
       
        width = map.getWidth();
        height = map.getHeight();
       
        tiles = new Tile[width] [height];
        for(int x = 0;x < width;x++) {
            for(int y = 0;y < height;y++) {
                Color c = new Color(map.getRGB(x, y));
                if(c.getRed() == 0&&c.getGreen() == 255&&c.getBlue() == 0) {
                    tiles[x] [y] = new Tile(x, y, 0);
                }
                if(c.getRed() == 0&&c.getGreen() == 0&&c.getBlue() == 255) {
                    tiles[x] [y] = new Tile(x, y, 1);
                }
                if(c.getRed() == 255&&c.getGreen() == 255&&c.getBlue() == 0) {
                    tiles[x] [y] = new Tile(x, y, 2);
                }
                if(c.getRed() == 0&&c.getGreen() == 0&&c.getBlue() == 0) {
                    tiles[x] [y] = new Tile(x, y, 3);
                }
                if(c.getRed() == 0&&c.getGreen() == 0&&c.getBlue() == 112) {
                    tiles[x] [y] = new Tile(x, y, 4);
                }
                if(c.getRed() == 145&&c.getGreen() == 67&&c.getBlue() == 36) {
                    tiles[x] [y] = new Tile(x, y, 5);
                }
                if(c.getRed() == 0&&c.getGreen() == 127&&c.getBlue() == 14) {
                    tiles[x] [y] = new Tile(x, y, 6);
                }
                if(c.getRed() == 0&&c.getGreen() == 89&&c.getBlue() == 8) {
                    tiles[x] [y] = new Tile(x, y, 7);
                }
            }
        }
```
die oben genannte tiles[x] [y].draw() Methode:

```
public void draw(Graphics g, int worldx, int worldy) {
        g.drawImage(look, x * Texture.tilesize + worldx + Game.transx, y * Texture.tilesize + worldy + Game.transy, null);
    }
```

Wenn ihr noch was braucht einfach schreiben ;-)
Ich hoffe ihr könnt mir helfen <3

Markus


----------



## H4CKSprogrammer (21. Mrz 2018)

ich hab es jetzt irdgendwie gelöst hatte vorher kein runnable drin jz schon und jz gehts weiß aber nicht wieso.


----------

