Moi,
Olen tehnyt tämän esimerkin pohjalta kalastuspeliä: http://www.javacooperation.gmxhome.de/
Jos lisään tuohon esimerkkiin antialiasing, alkaa kaikki mitä piirretään, vilkkumaan/räpsymään. Kestääkö noiden kuvioiden piirrossa sitten niin kauan taustan piirron jälkeen, että noin käy?
Millä tavalla se pitäis toteuttaa jos haluaa reunojen pehmennyksen? Tässä miten yritin tuohon esimerkkiin laittaa:
import java.applet.*; import java.awt.*; public class Ballbewegung1 extends Applet implements Runnable { // Initialisierung der Variablen int x_pos = 10; // x - Position des Balles int y_pos = 100; // y - Position des Balles int radius = 20; // Radius des Balles RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); public void init() { setBackground (Color.blue); } public void start () { // Schaffen eines neuen Threads, in dem das Spiel läuft Thread th = new Thread (this); // Starten des Threads th.start (); } public void stop() { } public void destroy() { } public void run () { // Erniedrigen der ThreadPriority um zeichnen zu erleichtern Thread.currentThread().setPriority(Thread.MIN_PRIORITY); // Solange true ist läuft der Thread weiter while (true) { // Verändern der x- Koordinate x_pos ++; // Neuzeichnen des Applets repaint(); try { // Stoppen des Threads für in Klammern angegebene Millisekunden Thread.sleep (20); } catch (InterruptedException ex) { // do nothing } // Zurücksetzen der ThreadPriority auf Maximalwert Thread.currentThread().setPriority(Thread.MAX_PRIORITY); } } public void paint (Graphics g) { rh.put (RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY ); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHints(rh); g2d.setColor (Color.red); g2d.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius); } }
Ja täällä ne mun kalat pyörii, jos jotain kiinnostaa.. http://www.jrantala.com/kalat.html
Muuta ei ole valmiina.
Linkkaamasi oppaan seuraava kappale käsittelee Double Buffering -tekniikkaa, jonka pitäisi ratkaista tämä ongelma. Oletko kokeillut käyttää sitä?
Tosiaan, kiitoksia! Nyt on kaloilla pehmeät reunat.
Aihe on jo aika vanha, joten et voi enää vastata siihen.