Przesuwanie obrazka

Odpowiedz Nowy wątek
2012-02-17 18:15
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 :)

Pozostało 580 znaków

2012-02-17 18:24
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);
}

Pozostało 580 znaków

2012-02-17 18:36
0

Ok, wielkie dzięki :D

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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