java - Scaling graphics causes game to stop rendering -
i'm making (currently rather simple) top-down 2d game in java, , having trouble implementing zooming.
it seems way can scale reducing width , height, , feeding multiplied-up version setpreferredsize(). i'd instead use affinetransform scale graphics2d @ render time, including g2d.settransform(transformer);
line gives being rendered null tile.
without: with:
i tried feeding class handles tile/sprite rendering multiplied-up/divided down values width , height, exact same result. ideas?
here's render method:
bs = getbufferstrategy(); if (bs == null) { createbufferstrategy(3); // woo, triple buffering! return; } transformer.scale(scale, scale); // other stuff here . . . // draw screen.pixels pixels (int = 0; < pixels.length; i++) { pixels[i] = screen.pixels[i]; } // draw g2d = (graphics2d)bs.getdrawgraphics(); g2d.settransform(transformer); { g2d.drawimage(image, 0, 0, width, height, null); /* g.setcolor(color.white); * g.setfont(new font("veranda", 0, 50)); * g.drawstring("b: " + mouse.b(), 80, 80); */ } g2d.dispose(); bs.show(); // blit/show buffer toolkit.getdefaulttoolkit().sync();
i'm using eclipse ide , no premade game engines on java1.6. i'm rendering onto canvas in jframe.
i take @ slick2d http://www.slick2d.org/
it has own image class, , way handles re-sizing images easy work with.
Comments
Post a Comment