Applet reagiert nicht richtig

Status
Nicht offen für weitere Antworten.

The-Forgotten

Bekanntes Mitglied
Abend ^^

Ich habe versucht den guten alten Klassiker Pong mit Java zu realisieren, allerdings reagiert die Kugel nur auf die 2 Spieler, solange die ihre Figuren nicht in größerem Umfang bewegen ...

werden die Figuren nur ein wenig bewegt, so prallt die Kugel weiter ab, wenn die Figuren allerdings weiter bewegt werden, scheinen sie auf einmal druchlässig zu sein.

Java:
Bsp.:

         -->   prallt aufgrund der kleinen Verschiebung anders ab(diagonal)
A    --|
^
|
A       -->  Apprallen ohne Verschiebung


Aber wenn:



A   <--- wird durchlässig
^
|
|
|
|
|
A      -->  Apprallen ohne Verschiebung

Woher kommt das?
 
Zuletzt bearbeitet:

The-Forgotten

Bekanntes Mitglied
Da ist das kleine ... ich find den gemeinen Fehler nämlich nicht :S

Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class BallApplet extends Applet implements Runnable,KeyListener
{
	private static final long serialVersionUID = 1L;
	// Initialisierung der Variablen

	boolean activierungHoch1;
	boolean activierungHoch2;
	boolean activierungRunter1;
	boolean activierungRunter2;
	
	int x_pos = 10;		// x - Position des Balles
	int y_pos = 100;	// y - Position des Balles
	int radius = 20;	// Radius des Balles
	
	int richtungx=1;	// x Richtung des Balles
	int richtungy=1;	// y Richtung des Balles
	
	int grundspeedx=2;	    // x Beschleunigung des Balles
	int grundspeedy=0;	    // y grundspeed des Balles
	
	int threadlaenge=1000;
	int threadhoehe=600;
	
	int geschwindigkeit=8;
	
	int playerspeed=10;
	
	int ballcheckNNX;
	int ballcheckNOX;
	int ballcheckOOX;
	int ballcheckSOX;
	int ballcheckSSX;
	int ballcheckSWX;
	int ballcheckWWX;
	int ballcheckNWX;
	
	int ballcheckNNY;
	int ballcheckNOY;
	int ballcheckOOY;
	int ballcheckSOY;
	int ballcheckSSY;
	int ballcheckSWY;
	int ballcheckWWY;
	int ballcheckNWY;

	int ballcheckAdvNNWX;
	int ballcheckAdvNWWX;	
	int ballcheckAdvSWWX;
	int ballcheckAdvSSWX;
	int ballcheckAdvNNOX;
	int ballcheckAdvNOOX;	
	int ballcheckAdvSOOX;
	int ballcheckAdvSSOX;
	
	int ballcheckAdvNNWY;
	int ballcheckAdvNWWY;	
	int ballcheckAdvSWWY;
	int ballcheckAdvSSWY;
	int ballcheckAdvNNOY;
	int ballcheckAdvNOOY;	
	int ballcheckAdvSOOY;
	int ballcheckAdvSSOY;
	
	// Variablen für die Doppelpufferung
	private Image dbImage;
	private Graphics dbg;
	
	Polygon p1=new Polygon();
	Polygon p2=new Polygon();
	
	Polygon stripe1=new Polygon();
	Polygon stripe2=new Polygon();
	
	Thread th = new Thread (this);
	
	// Instanzvariable für den AudioClip
	AudioClip bounce;

	public void init()
	{
		
		// Laden des Audioclips
		bounce = getAudioClip (getCodeBase(), "dong.au");

		p1.addPoint( 1,  threadhoehe/2-40);
		p1.addPoint( 1,  threadhoehe/2+40);
		p1.addPoint(30,  threadhoehe/2+40);
		p1.addPoint(70,  threadhoehe/2);
		p1.addPoint(30,  threadhoehe/2-40);
	
		p2.addPoint( threadlaenge   ,  threadhoehe/2-40);
		p2.addPoint( threadlaenge   ,  threadhoehe/2+40);
		p2.addPoint( threadlaenge-30,  threadhoehe/2+40);
		p2.addPoint( threadlaenge-70,  threadhoehe/2);
		p2.addPoint( threadlaenge-30,  threadhoehe/2-40);
		
		y_pos=threadhoehe/2;
		
		stripe1.addPoint(  5,  5);
		stripe1.addPoint(threadlaenge-5,  5);
		stripe1.addPoint(threadlaenge-5, 15);
		stripe1.addPoint(  5, 15);
		
		stripe2.addPoint(  5,threadhoehe-20);
		stripe2.addPoint(threadlaenge-5,threadhoehe-20);
		stripe2.addPoint(threadlaenge-5,threadhoehe-10);
		stripe2.addPoint(  5,threadhoehe-10);		
		
	}

	public void start ()
	{
		// Schaffen eines neuen Threads, in dem das Spiel läuft
		// Starten des Threads
		th.start ();
		resize(threadlaenge, threadhoehe);
		this.addKeyListener(this);
	}

	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

			for (int i=0;i<geschwindigkeit;i++)
			{
				ballcheckNNX=x_pos;
				ballcheckNOX=(int)(x_pos+.7*radius)+2;
				ballcheckOOX=x_pos+radius;
				ballcheckSOX=(int)(x_pos+.7*radius)+3;
				ballcheckSSX=x_pos;
				ballcheckSWX=(int)(x_pos-.7*radius)-2;
				ballcheckWWX=x_pos-radius;
				ballcheckNWX=(int)(x_pos-.7*radius)-5;

				ballcheckNNY=y_pos-radius;
				ballcheckNOY=(int)(y_pos-.7*radius);
				ballcheckOOY=y_pos;
				ballcheckSOY=(int)(y_pos+.7*radius);
				ballcheckSSY=y_pos+radius;
				ballcheckSWY=(int)(y_pos+.7*radius);
				ballcheckWWY=y_pos;
				ballcheckNWY=(int)(y_pos-.7*radius);
				
				ballcheckAdvNNWX=(int)(x_pos-.39*radius);
				ballcheckAdvNWWX=(int)(x_pos-.92*radius);	
				ballcheckAdvSWWX=(int)(x_pos-.92*radius);
				ballcheckAdvSSWX=(int)(x_pos-.39*radius);
				ballcheckAdvNNOX=(int)(x_pos+.39*radius);
				ballcheckAdvNOOX=(int)(x_pos+.92*radius);	
				ballcheckAdvSOOX=(int)(x_pos+.92*radius);
				ballcheckAdvSSOX=(int)(x_pos+.39*radius);
				
				ballcheckAdvNNWY=(int)(y_pos+.92*radius);
				ballcheckAdvNWWY=(int)(y_pos+.39*radius);	
				ballcheckAdvSWWY=(int)(y_pos-.39*radius);	
				ballcheckAdvSSWY=(int)(y_pos-.92*radius);
				ballcheckAdvNNOY=(int)(y_pos+.92*radius);
				ballcheckAdvNOOY=(int)(y_pos+.39*radius);		
				ballcheckAdvSOOY=(int)(y_pos-.39*radius);	
				ballcheckAdvSSOY=(int)(y_pos-.92*radius);	
				
				x_pos =x_pos+(grundspeedx*richtungx);
				y_pos =y_pos+(grundspeedy*richtungy);
				
				if ((p1.contains(ballcheckNNX, ballcheckNNY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=2;richtungy=-1;}
				if ((p1.contains(ballcheckSWX, ballcheckSWY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=1;richtungx=+1;richtungy=-1;}
				if ((p1.contains(ballcheckWWX, ballcheckWWY)==true)&&richtungx==-1)
				{grundspeedx=2;richtungx=+1;}
				if ((p1.contains(ballcheckNWX, ballcheckNWY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=1;richtungx=+1;richtungy=1;}
				if ((p1.contains(ballcheckSSX, ballcheckSSY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=2;richtungy=1;}
				
				if ((p2.contains(ballcheckNNX, ballcheckNNY)==true)&&richtungx==1)
				{grundspeedx=1;grundspeedy=2;richtungy=-1;}
				if ((p2.contains(ballcheckNOX, ballcheckNOY)==true)&&richtungx==1)
				{grundspeedx=1;grundspeedy=1;richtungx=-1;richtungy=1;}
				if ((p2.contains(ballcheckOOX, ballcheckOOY)==true)&&richtungx==1)
				{grundspeedx=2;richtungx=-1;}
				if ((p2.contains(ballcheckSOX, ballcheckSOY)==true)&&richtungx==1)
				{grundspeedx=1;grundspeedy=1;richtungx=-1;richtungy=-1;}
				if ((p2.contains(ballcheckSSX, ballcheckSSY)==true)&&richtungx==1)
				{grundspeedx=1;grundspeedy=2;richtungy=1;}	
				
		/*		if ((p1.contains(ballcheckAdvNNWX, ballcheckAdvNNWX)==true)&&richtungx==-1)
			    {grundspeedx=1;grundspeedy=2;richtungx=1;richtungy=1;}
				if ((p1.contains(ballcheckAdvNWWX, ballcheckAdvNWWX)==true)&&richtungx==-1)
				{grundspeedx=2;grundspeedy=1;richtungx=1;richtungy=1;}
				if ((p1.contains(ballcheckAdvSWWX, ballcheckAdvSWWX)==true)&&richtungx==-1)
				{grundspeedx=2;grundspeedy=1;richtungx=1;richtungy=-1;}
				if ((p1.contains(ballcheckAdvSSWX, ballcheckAdvSSWX)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=2;richtungx=1;richtungy=-1;}
				
				if ((p2.contains(ballcheckAdvNNOX, ballcheckAdvNNOX)==true)&&richtungx==1)
				{grundspeedx=1;grundspeedy=2;richtungx=-1;richtungy=1;}
				if ((p2.contains(ballcheckAdvNOOX, ballcheckAdvNOOX)==true)&&richtungx==1)
				{grundspeedx=2;grundspeedy=2;richtungx=-1;richtungy=1;}
				if ((p2.contains(ballcheckAdvSOOX, ballcheckAdvSOOX)==true)&&richtungx==1)
				{grundspeedx=2;grundspeedy=2;richtungx=-1;richtungy=-1;}
				if ((p2.contains(ballcheckAdvSSOX, ballcheckAdvSSOX)==true)&&richtungx==1)
				{grundspeedx=1;grundspeedy=2;richtungx=-1;richtungy=-1;}*/
				
				if (stripe1.contains(ballcheckNNX, ballcheckNNY)==true){richtungy=1;}
				
				if (stripe2.contains(ballcheckSSX, ballcheckSSY)==true){richtungy=-1;}
				
			}
		
			// Neuzeichnen des Applets
		repaint();

		try
		{
			// Stoppen des Threads für in Klammern angegebene Millisekunden
			Thread.sleep (200);
		}
		catch (InterruptedException ex)
		{
			// do nothing
		}
			// Zurücksetzen der ThreadPriority auf Maximalwert
		Thread.currentThread().setPriority(Thread.MAX_PRIORITY);	
	}
	}
	
	/** Update - Methode, Realisierung der Doppelpufferung zur Reduzierung des Bildschirmflackerns */
	public void update (Graphics g)
	{
		// Initialisierung des DoubleBuffers
		if (dbImage == null)
		{
			dbImage = createImage (threadlaenge, threadhoehe);
			dbg = dbImage.getGraphics ();
		}

		// Bildschirm im Hintergrund löschen
		dbg.setColor (getBackground ());
		dbg.fillRect (0, 0, threadlaenge, threadhoehe);

		// Auf gelöschten Hintergrund Vordergrund zeichnen
		dbg.setColor (getForeground());
		paint (dbg);

		// Nun fertig gezeichnetes Bild Offscreen auf dem richtigen Bildschirm anzeigen
		g.drawImage (dbImage, 0, 0, this);
	}

	public void paint (Graphics g)
	{
		g.setColor  (Color.red);
		g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius);

		g.setColor(Color.green);
		g.drawPolygon(p1);
		g.fillPolygon(p1);
		
		g.setColor(Color.blue);
		g.drawPolygon(p2);
		g.fillPolygon(p2);
		
		g.setColor(Color.black);
		g.drawPolygon(stripe1);
		g.fillPolygon(stripe1);
		
		g.setColor(Color.black);
		g.drawPolygon(stripe2);
		g.fillPolygon(stripe2);
	}

	public void keyPressed(KeyEvent e) {
	
		if(e.getKeyCode()==87)
		{
			activierungHoch1=false;
			if (activierungHoch1==false){
				p1.ypoints[0]=p1.ypoints[0]-playerspeed;
				p1.ypoints[1]=p1.ypoints[1]-playerspeed;
				p1.ypoints[2]=p1.ypoints[2]-playerspeed;
				p1.ypoints[3]=p1.ypoints[3]-playerspeed;
				p1.ypoints[4]=p1.ypoints[4]-playerspeed;
			}
		}
		
		if(e.getKeyCode()==83)
		{
			activierungRunter1=false;
			if (activierungRunter1==false){
				p1.ypoints[0]=p1.ypoints[0]+playerspeed;
				p1.ypoints[1]=p1.ypoints[1]+playerspeed;
				p1.ypoints[2]=p1.ypoints[2]+playerspeed;
				p1.ypoints[3]=p1.ypoints[3]+playerspeed;
				p1.ypoints[4]=p1.ypoints[4]+playerspeed;
			}
		}
		
		if(e.getKeyCode()==38)
		{
			activierungHoch2=false;
			if (activierungHoch2==false){
				p2.ypoints[0]=p2.ypoints[0]-playerspeed;
				p2.ypoints[1]=p2.ypoints[1]-playerspeed;
				p2.ypoints[2]=p2.ypoints[2]-playerspeed;
				p2.ypoints[3]=p2.ypoints[3]-playerspeed;
				p2.ypoints[4]=p2.ypoints[4]-playerspeed;
			}
		}
		
		if(e.getKeyCode()==40)
		{
			activierungRunter2=false;
			if (activierungRunter2==false){
				p2.ypoints[0]=p2.ypoints[0]+playerspeed;
				p2.ypoints[1]=p2.ypoints[1]+playerspeed;
				p2.ypoints[2]=p2.ypoints[2]+playerspeed;
				p2.ypoints[3]=p2.ypoints[3]+playerspeed;
				p2.ypoints[4]=p2.ypoints[4]+playerspeed;
			}
		}
	}

	public void keyReleased(KeyEvent e) {
		if(e.getKeyCode()==38){activierungHoch1=true;}
		if(e.getKeyCode()==40){activierungHoch2=true;}
		if(e.getKeyCode()==87){activierungRunter1=true;}
		if(e.getKeyCode()==83){activierungRunter2=true;}
	}

	public void keyTyped(KeyEvent e) {
		if(e.getKeyChar()=='a')
		{
			System.out.println("Punkt1: "+p1.xpoints[0]+"#"+p1.ypoints[0]);
			System.out.println("Punkt2: "+p1.xpoints[1]+"#"+p1.ypoints[1]);
			System.out.println("Punkt3: "+p1.xpoints[2]+"#"+p1.ypoints[2]);
			System.out.println("Punkt4: "+p1.xpoints[3]+"#"+p1.ypoints[3]);
			System.out.println("Punkt5: "+p1.xpoints[4]+"#"+p1.ypoints[4]);
		}
		else
		{

		}
	}
}
 

The-Forgotten

Bekanntes Mitglied
*Update*

Um mal etwas Fehler einzugrenzen...

*Edit: Interessant ist die Tatsache, dass in dem Polygon aus den Punkten (1/30); (1/110); (30/110); (70/30); (30/10)
nicht der Punkt P (10/30) enthalten sein soll (p1.contains(10,30); )

Jedoch gibt es mir mit System.out.println, eben die oben genannten Punkte des Polygons aus. Diese sind die selben, die abgefragt werden ...

Ist der Punkt aber von anfang am im Poligon enthalten(contains), so ist die if - Abfrage "true", solange ich das Polygon nicht zu weit weg bewege(dann wird sie "false"). Bewege ich es nun zurück, ist die if - Abfrage wieder "true".
Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class BallApplet extends Applet implements Runnable,KeyListener
{
	private static final long serialVersionUID = 1L;
	// 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
	
	int richtungx=1;	// x Richtung des Balles
	int richtungy=1;	// y Richtung des Balles
	
	int grundspeedx=2;	    // x Beschleunigung des Balles
	int grundspeedy=0;	    // y grundspeed des Balles
	
	int threadlaenge=1000;
	int threadhoehe=600;
	
	int geschwindigkeit=8;
	
	int playerspeed=10;
	
	int ballcheckNNX;
	int ballcheckNOX;
	int ballcheckOOX;
	int ballcheckSOX;
	int ballcheckSSX;
	int ballcheckSWX;
	int ballcheckWWX;
	int ballcheckNWX;
	
	int ballcheckNNY;
	int ballcheckNOY;
	int ballcheckOOY;
	int ballcheckSOY;
	int ballcheckSSY;
	int ballcheckSWY;
	int ballcheckWWY;
	int ballcheckNWY;

	// Variablen für die Doppelpufferung
	private Image dbImage;
	private Graphics dbg;
	
	Polygon p1=new Polygon();
        ...

	public void init()
	{	
                ...	
	}

	public void start ()
	{
             ...
	}

	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)
		{

			for (int i=0;i<geschwindigkeit;i++)
			{
				ballcheckNNX=x_pos;
				ballcheckNOX=(int)(x_pos+.7*radius)+2;
				ballcheckOOX=x_pos+radius;
				ballcheckSOX=(int)(x_pos+.7*radius)+3;
				ballcheckSSX=x_pos;
				ballcheckSWX=(int)(x_pos-.7*radius)-2;
				ballcheckWWX=x_pos-radius;
				ballcheckNWX=(int)(x_pos-.7*radius)-5;

				ballcheckNNY=y_pos-radius;
				ballcheckNOY=(int)(y_pos-.7*radius);
				ballcheckOOY=y_pos;
				ballcheckSOY=(int)(y_pos+.7*radius);
				ballcheckSSY=y_pos+radius;
				ballcheckSWY=(int)(y_pos+.7*radius);
				ballcheckWWY=y_pos;
				ballcheckNWY=(int)(y_pos-.7*radius);
				
				ballcheckAdvNNWX=(int)(x_pos-.39*radius);
				ballcheckAdvNWWX=(int)(x_pos-.92*radius);	
				ballcheckAdvSWWX=(int)(x_pos-.92*radius);
				ballcheckAdvSSWX=(int)(x_pos-.39*radius);
				ballcheckAdvNNOX=(int)(x_pos+.39*radius);
				ballcheckAdvNOOX=(int)(x_pos+.92*radius);	
				ballcheckAdvSOOX=(int)(x_pos+.92*radius);
				ballcheckAdvSSOX=(int)(x_pos+.39*radius);
				
				ballcheckAdvNNWY=(int)(y_pos+.92*radius);
				ballcheckAdvNWWY=(int)(y_pos+.39*radius);	
				ballcheckAdvSWWY=(int)(y_pos-.39*radius);	
				ballcheckAdvSSWY=(int)(y_pos-.92*radius);
				ballcheckAdvNNOY=(int)(y_pos+.92*radius);
				ballcheckAdvNOOY=(int)(y_pos+.39*radius);		
				ballcheckAdvSOOY=(int)(y_pos-.39*radius);	
				ballcheckAdvSSOY=(int)(y_pos-.92*radius);	
				
				x_pos =x_pos+(grundspeedx*richtungx);
				y_pos =y_pos+(grundspeedy*richtungy);

				if (p1.contains(10, 50)==true){System.out.println("Cointains Point One");}
				
				if (p1.contains(10, 300)==true){System.out.println("Cointains Point Two");}
				
				if ((p1.contains(ballcheckNNX, ballcheckNNY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=2;richtungy=-1;System.out.println("HIT");}
				if ((p1.contains(ballcheckSWX, ballcheckSWY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=1;richtungx=+1;richtungy=-1;System.out.println("HIT");}
				if ((p1.contains(ballcheckWWX, ballcheckWWY)==true)&&richtungx==-1)
				{grundspeedx=2;richtungx=+1;System.out.println("HIT");}
				if ((p1.contains(ballcheckNWX, ballcheckNWY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=1;richtungx=+1;richtungy=1;System.out.println("HIT");}
				if ((p1.contains(ballcheckSSX, ballcheckSSY)==true)&&richtungx==-1)
				{grundspeedx=1;grundspeedy=2;richtungy=1;System.out.println("HIT");}
				
                                ...
				
			}
		
			// Neuzeichnen des Applets
		repaint();

                ...
			// Zurücksetzen der ThreadPriority auf Maximalwert
		Thread.currentThread().setPriority(Thread.MAX_PRIORITY);	
	}
	}

	public void paint (Graphics g)
	{
		g.setColor  (Color.red);
		g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius);

		g.setColor(Color.green);
		g.drawPolygon(p1);
		g.fillPolygon(p1);
		
                ...
	}

	public void keyPressed(KeyEvent e) {
	
		if(e.getKeyCode()==87)
		{
			activierungHoch1=false;
			if (activierungHoch1==false&&p1.ypoints[0]>30){
				p1.ypoints[0]=p1.ypoints[0]-playerspeed;
				p1.ypoints[1]=p1.ypoints[1]-playerspeed;
				p1.ypoints[2]=p1.ypoints[2]-playerspeed;
				p1.ypoints[3]=p1.ypoints[3]-playerspeed;
				p1.ypoints[4]=p1.ypoints[4]-playerspeed;
			}
		}
		
		if(e.getKeyCode()==83)
		{
			activierungRunter1=false;
			if (activierungRunter1==false&&p1.ypoints[2]<threadhoehe-30){
				p1.ypoints[0]=p1.ypoints[0]+playerspeed;
				p1.ypoints[1]=p1.ypoints[1]+playerspeed;
				p1.ypoints[2]=p1.ypoints[2]+playerspeed;
				p1.ypoints[3]=p1.ypoints[3]+playerspeed;
				p1.ypoints[4]=p1.ypoints[4]+playerspeed;
			}
		}
		
		if(e.getKeyCode()==38)
		{
			activierungHoch2=false;
			if (activierungHoch2==false&&p2.ypoints[0]>30){
				p2.ypoints[0]=p2.ypoints[0]-playerspeed;
				p2.ypoints[1]=p2.ypoints[1]-playerspeed;
				p2.ypoints[2]=p2.ypoints[2]-playerspeed;
				p2.ypoints[3]=p2.ypoints[3]-playerspeed;
				p2.ypoints[4]=p2.ypoints[4]-playerspeed;
			}
		}
		
		if(e.getKeyCode()==40)
		{
			activierungRunter2=false;
			if (activierungRunter2==false&&p2.ypoints[2]<threadhoehe-30){
				p2.ypoints[0]=p2.ypoints[0]+playerspeed;
				p2.ypoints[1]=p2.ypoints[1]+playerspeed;
				p2.ypoints[2]=p2.ypoints[2]+playerspeed;
				p2.ypoints[3]=p2.ypoints[3]+playerspeed;
				p2.ypoints[4]=p2.ypoints[4]+playerspeed;
			}
		}
	}
}
 
Zuletzt bearbeitet:

The-Forgotten

Bekanntes Mitglied
Also wenn ich das so mache gehts, allerdings sieht das eher noch Flicken aus und weniger nach korrektem Code :S

Java:
	public void start ()
	{
		p1.addPoint( 1,  threadhoehe/2-400);
		p1.addPoint( 1,  threadhoehe/2+400);
		p1.addPoint(30,  threadhoehe/2+400);
		p1.addPoint(70,  threadhoehe/2);
		p1.addPoint(30,  threadhoehe/2-400);
		p2.addPoint( threadlaenge   ,  threadhoehe/2-400);
		p2.addPoint( threadlaenge   ,  threadhoehe/2+400);
		p2.addPoint( threadlaenge-30,  threadhoehe/2+400);
		p2.addPoint( threadlaenge-70,  threadhoehe/2);
		p2.addPoint( threadlaenge-30,  threadhoehe/2-400);
		
		th.start ();
		resize(threadlaenge, threadhoehe);
		this.addKeyListener(this);
		
		p1.ypoints[0]=threadhoehe/2-40;
		p1.ypoints[1]=threadhoehe/2+40;
		p1.ypoints[2]=threadhoehe/2+40;
		p1.ypoints[3]=threadhoehe/2;
		p1.ypoints[4]=threadhoehe/2-40;;
		p2.ypoints[0]=threadhoehe/2-40;
		p2.ypoints[1]=threadhoehe/2+40;
		p2.ypoints[2]=threadhoehe/2+40;
		p2.ypoints[3]=threadhoehe/2;
		p2.ypoints[4]=threadhoehe/2-40;
	}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
D Java Applet wird nicht im Browser angezeigt Java Basics - Anfänger-Themen 6
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
S Erste Schritte Java - Applet - Rechteck ständig versetzen Java Basics - Anfänger-Themen 14
A Applet Plot für atan erstellen Java Basics - Anfänger-Themen 1
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
K JDK installieren displays java applet für MAC Java Basics - Anfänger-Themen 10
S Zeichen von abgerundeten Rechtecken auf einem Applet Java Basics - Anfänger-Themen 5
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
S Klassen Applet extern aufrufen Java Basics - Anfänger-Themen 1
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
C Applet Probleme Java Basics - Anfänger-Themen 1
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
G Applet in ein JSP einbinden Java Basics - Anfänger-Themen 1
C Java-Applet Fehler "NoClassDefFoundError"? Java Basics - Anfänger-Themen 1
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
K Applet funz. im Browser nicht Java Basics - Anfänger-Themen 11
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
thet1983 Erste Schritte <param> Tag in Applet Java Basics - Anfänger-Themen 4
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
G Signiertes Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 1
Y Applet: Verschlüsselung Java Basics - Anfänger-Themen 3
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
F signiertes Applet fkt. nicht bei lokalem Aufruf Java Basics - Anfänger-Themen 2
K Frage zu Applet Java Basics - Anfänger-Themen 3
V While Schleife für ganzes Applet Java Basics - Anfänger-Themen 6
P Applet Histogramm Java Basics - Anfänger-Themen 6
H 27 Kreise Zeichnen Java Applet Java Basics - Anfänger-Themen 2
G Java Applet aus Eclipse heraus testen? Java Basics - Anfänger-Themen 6
S Applet findet Klasse nicht Java Basics - Anfänger-Themen 7
R Java Applet mit Mausklick ansprechen Java Basics - Anfänger-Themen 3
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
S Applet-Objekt ist vor dem Hintergrund Java Basics - Anfänger-Themen 11
F Problem mit Applet Java Basics - Anfänger-Themen 5
A Applet mit Object-Tags einbinden. Java Basics - Anfänger-Themen 3
S Erste Schritte Fenster wechsel im Applet Java Basics - Anfänger-Themen 7
S Applet Deployment Java Basics - Anfänger-Themen 2
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
H Applet - main()-Methode Java Basics - Anfänger-Themen 4
K Applet wird nicht im Browser und Appletviewer angezeigt Java Basics - Anfänger-Themen 5
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
N Erste Schritte Applet zeichnet Bild nicht Java Basics - Anfänger-Themen 10
H Klassen in Eclipse stellt es im Ausgabe-Applet nicht dar Java Basics - Anfänger-Themen 5
L Applet soll Html-File öffnen Java Basics - Anfänger-Themen 2
L NetBeans Applet in html Java Basics - Anfänger-Themen 4
Dogge Start:Applet nicht Initialisiert Java Basics - Anfänger-Themen 11
D Applet beenden Java Basics - Anfänger-Themen 7
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
M RSA Applet ohne Cipher Java Basics - Anfänger-Themen 15
B String verschlüsseln - Applet - ohne BASE64 Java Basics - Anfänger-Themen 7
S Methode in Applet starten Java Basics - Anfänger-Themen 2
M AWT Applet - Button aus anderer Klasse abfragen Java Basics - Anfänger-Themen 4
W Probleme mit Java Applet Java Basics - Anfänger-Themen 5
M Applet kann in Browser nicht ausgeführt werden Java Basics - Anfänger-Themen 4
L Applet: Laden unterbricht den Browserfokus (scrollen) Java Basics - Anfänger-Themen 2
Z Applet startet nicht bei Domain mit Umlaut Java Basics - Anfänger-Themen 2
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
Helgon ClassNotFound Applet Java Basics - Anfänger-Themen 6
U Applet Signiert und trotzdem Fehlermeldung Java Basics - Anfänger-Themen 18
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
S Applet Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
E Applet wird nicht angezeigt Java Basics - Anfänger-Themen 11
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
B Applet - Laden eines Java-Fensters bricht ab Java Basics - Anfänger-Themen 6
N Import Problem, Applet will nicht Java Basics - Anfänger-Themen 6
M Applet Eclipse Vollbild Java Basics - Anfänger-Themen 3
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
I Java Applet Java Basics - Anfänger-Themen 8
D Java Applet Dateien auf Server auslesen? Java Basics - Anfänger-Themen 8
L Referenced Libraries korrekt in Java Applet einbinden.. Java Basics - Anfänger-Themen 2
KBJ Java Applet Gästebuch Java Basics - Anfänger-Themen 12
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
U Applet wird nicht angezeigt Java Basics - Anfänger-Themen 2
J J-Applet, Frage Java Basics - Anfänger-Themen 19
J Applet farblich gestalten Java Basics - Anfänger-Themen 5
M Applet lokaler Festplattenzugriff Java Basics - Anfänger-Themen 25
X Applet - Client/Server Java Basics - Anfänger-Themen 2
M Applet ist nur graues Feld Java Basics - Anfänger-Themen 12
O webserver für Applet und php Java Basics - Anfänger-Themen 7
J Fehlermeldung: Applet nicht initialisiert Java Basics - Anfänger-Themen 24
C Java Applet Probleme Java Basics - Anfänger-Themen 4
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
S Input/Output Problem mit dateizugriff innerhalb der .jar (Applet) Java Basics - Anfänger-Themen 2
M Applet + BilderDownload Java Basics - Anfänger-Themen 36
O Applet Wetterticker Java Basics - Anfänger-Themen 17
W KeyListener auf Applet mit Runnable Java Basics - Anfänger-Themen 4
M Bild in Applet darstellen Java Basics - Anfänger-Themen 6
W Applet funktiniert nur in Eclipse Java Basics - Anfänger-Themen 2
S Erste Schritte Machbarkeit: Applet oder GUI-Applikation? Java Basics - Anfänger-Themen 3
R Daten von Applet an Website Java Basics - Anfänger-Themen 4
A Linie Zeichnen Applet mit Double Wert Java Basics - Anfänger-Themen 3
O (von Applet) daten an Server übergeben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben