Przesuwanie obrazka

0

Napisałem klasę GameObject, która jest podstawą dla wszystkich obiektów w grze. Mam tylko jeden problem, jak narysować ją, tak aby cały czas była na określonej pozycji? Chodzi mi o to, żeby się nie powielała, tak jak to się dzieje u mnie :(

import java.awt.Graphics2D;
import java.awt.Image;

import javax.swing.JComponent;


public class GameObject {

	private int posX;
	private int posY;
	
	private Graphics2D g2;
	private Image sprite;
	private JComponent component;
	public GameObject(Graphics2D g2D, Image spriteD, JComponent componentD){
		g2 = g2D;
		sprite = spriteD;
		component = componentD;
	}
	
	public void paint(Graphics2D g2, Image sprite, JComponent component){
		g2.drawImage(sprite, posX, posY, component);
		component.repaint();
	}
	
	public Image getImage(){
		return sprite;
	}

	public void setPos(int x, int y){
		posX = x;
		posY = y;
		paint(g2, sprite, component);
	}
	
	public int getPosX(){
		return posX;
	}
	
	public int getPosY(){
		return posY;
	}
	
}

Z góry dzięki :)

0

nic się nie powiela... bufora nie wyczyściłeś..

twoja metoda renderująca grę powinna wyglądać jakoś tak

g.clearRect(0,0,getWidth(), getHeight());

for(GameObject obj : obiekty)
{
   obj.draw(g);
}
0

Ok, wielkie dzięki :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1