Hirdetés

Új hozzászólás Aktív témák

  • Karma
    félisten

    Sziasztok!

    Ha egy JPanelben ábrázolunk egy pályát, ami mezőkből áll, és a paintComponent-et így írtuk meg:

    public void paintComponent(Graphics g) {
    super.paintComponent(g);
    setBackground(cBackground);
    Graphics2D g2d = (Graphics2D)g;
    int posX=X0;
    int posY=Y0;
    for(Field f : map.getFields()){
    drawField(f, g2d, posX, posY);
    posX += Field.WIDTH;
    if(posX >= (map.getWidth() * Field.WIDTH)){
    posX = X0;
    posY += Field.HEIGHT;
    }
    }

    A drowField 1 mezőt rajzol ki a rajta lévő dolgok alapján.

    Meg lehet oldani azt valahogy, hogy a JPanel repaint-je helyett csak a drowField legyen meghívva? Szeretnénk ha nem kellene mindig az összes mezőt frissíteni, elég csak azt ami változott, ha ez megvalósítható.

    Köszi

    Mi a motiváció mögötte? Lassú? Villódzik? Egyikse, csak optimalizálni akarsz rajta?

    Egyébként igen, meg lehet oldani. Itt van egy tutorial egy teljes játékról hardveres 2D gyorsítással, van benne pár kulcsmomentum amit átvehetsz. Gondolok különösen a BufferStrategy-n keresztüli rajzolásra, meg az ablak kezelésére.

Új hozzászólás Aktív témák