Hallo Leute,
ich probiere momentan ein kleines 2D-Spiel zu programmieren. In diesem sollte man unter anderem auch zoomen können. Das zoomen an sich funktioniert auch aber leider zoomt es immer zum Nullpunkt😕.
Beim zoomen habe ich aber noch ein anderes Problem festgestellt: zwischen den Einzelbildern gibt es je nach Zoomstufe weisse Striche. (siehe Screenshots)

Mein aktueller/relevanter Code:
Für das Zoomen zu Maus habe ich mir überlegt, dass man einfach bei zoomX und zoomY was dazuaddieren muss. Was genau weiss ich leider nicht, habe aber einiges ausprobiert. (Hat leider nie geklappt🙁)
Und ich verstehe nicht warum zwischen ein paar Einzelbldern ein Abstand ist. Wenn der Abstand zwischen allen Bildern wäre könnte ich das ja noch verstehen, aber so?
Hoffe jemand von euch kann mir helfen.
~Der Anfänger
ich probiere momentan ein kleines 2D-Spiel zu programmieren. In diesem sollte man unter anderem auch zoomen können. Das zoomen an sich funktioniert auch aber leider zoomt es immer zum Nullpunkt😕.
Beim zoomen habe ich aber noch ein anderes Problem festgestellt: zwischen den Einzelbildern gibt es je nach Zoomstufe weisse Striche. (siehe Screenshots)

Mein aktueller/relevanter Code:
Java:
public class Game {
private void zoomTo(int x, int y) {
if (Vars.mouseWheelMoved != 0) {
float zoomBefore = Vars.zoom;
if (Vars.zoom - Vars.mouseWheelMoved * 0.1f < 0.1f) {
Vars.zoom = 0.1f;
} else if (Vars.zoom - Vars.mouseWheelMoved * 0.1f > 5.f) {
Vars.zoom = 5.f;
} else {
Vars.zoom -= Vars.mouseWheelMoved * 0.1f;
}
Vars.mouseWheelMoved = 0;
}
}
public void render(Graphics g) {
// map
scaledImages = new Image[images.length];
for (int i = 0; i < images.length; i++) {
Image im = images[i];
scaledImages[i] = Utils.zoomImage(im);
}
if (Vars.map != null) {
for (int i = 0; i < Vars.map.length; i++) {
for (int j = 0; j < Vars.map[i].length; j++) {
g.drawImage(scaledImages[Vars.map[i][j]], (int) ((j * 64 - Vars.cameraX) * Vars.zoom),
(int) ((i * 64 - Vars.cameraY) * Vars.zoom), null);
}
}
}
}
}
Für das Zoomen zu Maus habe ich mir überlegt, dass man einfach bei zoomX und zoomY was dazuaddieren muss. Was genau weiss ich leider nicht, habe aber einiges ausprobiert. (Hat leider nie geklappt🙁)
Und ich verstehe nicht warum zwischen ein paar Einzelbldern ein Abstand ist. Wenn der Abstand zwischen allen Bildern wäre könnte ich das ja noch verstehen, aber so?
Hoffe jemand von euch kann mir helfen.
~Der Anfänger