Java lernen

Versetzung der "Hitbox"

Diskutiere Versetzung der "Hitbox" im Spiele- und Multimedia-Programmierung Forum; Hallo ich brauch mal wieder Hilfe :-) und zwar programmier ich gerade an einem 2D spiel und habe als letztes die einzelnen Bilder also Texturen...

  1. H4CKSprogrammer
    H4CKSprogrammer Mitglied
    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:
    Code (Text):

    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:
    Code (Text):

    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:
    Code (Text):

    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
     
  2. H4CKSprogrammer
    H4CKSprogrammer Mitglied
    ich hab es jetzt irdgendwie gelöst hatte vorher kein runnable drin jz schon und jz gehts weiß aber nicht wieso.
     
Die Seite wird geladen...

Versetzung der "Hitbox" - Ähnliche Themen

Hitbox Fix
Hitbox Fix im Forum Spiele- und Multimedia-Programmierung
Rectangle Runde Hitbox
Rectangle Runde Hitbox im Forum Spiele- und Multimedia-Programmierung
Hitbox mit Level-Editor mitzeichnen
Hitbox mit Level-Editor mitzeichnen im Forum Spiele- und Multimedia-Programmierung
Eclipse Hitbox(en)
Eclipse Hitbox(en) im Forum AWT, Swing, JavaFX & SWT
Runde Hitboxen?
Runde Hitboxen? im Forum Java Basics - Anfänger-Themen
Thema: Versetzung der "Hitbox"