Figur springen lassen

Status
Nicht offen für weitere Antworten.

raven

Bekanntes Mitglied
alse ich arbeite an ein 2d Spiel nun möchte ich meine Figur springen lassen.

Mir fällt blos keine Idee ein du gut ist.

Die Figur soll eigentlich erstmal nur gerade nach oben springen und wieder runter fallen.

Habt ihr eine gute Idee.
Währe euch sehr Dankbar
 

raven

Bekanntes Mitglied
Ich habs ja schonmal mit ner for-schleife probiert. Und da gabs zwei fehler

1. Fehler die Figur ist verschwunden als ich springen wollte und ist erst wieder aufgetaucht als sie oben war.

2.Fehler Sie kam nicht mehr runter und ich konnte in der Luft weiter rennen.

Meine For - Schleife sah ungefähr so aus:

Code:
while(Richtung) // ist eine Variable in welcher richtung die Figur gerade kuckt
{
	case:8 if(Richtung==8)			// 8 ist die Taste mit der man springen soll
		{
			for(x=500; x>=600; x++)	// 500 ist der Boden wo die Figur draufsteht 					
			{
				x--;
			}			// 600 wie hoch sie springen kann
		}

}

Edit by Illuvatar: Codetags eingefügt
 

Illuvatar

Top Contributor
X_Master hat gesagt.:
for(x=500; x>=600; x++) // 500 ist der Boden wo die Figur draufsteht
{
x--;
} // 600 wie hoch sie springen kann

Wetten wir, dass die Schleife recht lang dauert? :bae:
x ist 500.
jeden Durchgang machst du: x++; x--.
wann soll x 600 sein?
 

Illuvatar

Top Contributor
Jetzt verstehe ich nix mehr.
Poste mal ein bisschen mehr Code, und zwar bitte diesmal gleich in Codetags.

Und außerdem:
--> moved by Illuvatar: Spieleprogrammierung
 

raven

Bekanntes Mitglied
aus der Start classe poste ich nur das mit dem Tasten drücken das andere ist nur das übliche


Code:
// auschnitt aus der ersten klasse

public void keyTyped(KeyEvent e)
	{

	}
	public void keyPressed(KeyEvent e)
	{
		System.out.println("Taste gedrückt");
		char c = e.getKeyChar();
		System.out.println(c);
		if(c=='6')		//  Rennt nach rechts
		{
			m1.Richtung=6;
			System.out.println("rechts");
		}
	/*	if(c=='8')
		{
			m1.Richtung=8;			// SOLL SPRINGEN
			System.out.println("oben");
		}
	*/
		if(c=='4')
		{
			m1.Richtung=4;			rennt nach links
			System.out.println("links");
		}
	/*	if(c=='5')
		{
			//m1.Richtung=5;
			System.out.println("unten");
		}
	*/
	}
	public void keyReleased(KeyEvent e)
	{
		if(m1.Richtung!=5)
		{
			m1.Richtung=0;
		}
	}
	public void paint(Graphics g)
	{
		m1.paint(g);
		g.setColor(Color.yellow);
		g.fillRect(0,660,1000,40);
	}












	// spielfigur classe

public class mann
{
	welt w1 = new welt();

	int fensterX=1000;
        int fensterY=700;
	int xPlatte=100;
	int yPlatte=500;
	int Sprunghoehe=600;
	int x=100;
	int y=500;
	boolean anzeige=true;
	int banzeige=1;
	int Richtung=0;						//6=rechts,4=links,8=oben,5=unten,0=stopp


	public void paint(Graphics g)
	{
		w1.paint(g);
		if(x>=fensterX)
		{
			x=995;
		}
		if(x<=0)
		{
			x=5;
		}

		g.setColor(Color.black);
		switch(Richtung)
		{
			case 4:	if(Richtung==4 && xPlatte<x)
				{
					if(banzeige==1){Links1(g);}
					if(banzeige==2){Links2(g);}
					if(banzeige==3){Links3(g);}
					if(banzeige==4){Links4(g);}
					banzeige++;
					if(banzeige==5)
					{
						banzeige=1;
					}
					x=x-8;
				}
				else
				{
					Richtung=5;
					x--;
				}
				break;
			case 6:	if(Richtung==6 && xPlatte+200>x)
				{
					if(banzeige==1){Rechts1(g);}
					if(banzeige==2){Rechts2(g);}
					if(banzeige==3){Rechts3(g);}
					if(banzeige==4){Rechts4(g);}
					banzeige++;
					if(banzeige==5)
					{
						banzeige=1;
					}
					x=x+8;
				}
				else
				{
					Richtung=5;
					x--;
				}
				break;
		/*	case 8:	if(Richtung==8)
				{
					if(y<Sprunghoehe)
					{
						y++;
					}
					else
					{
						y--;
						y--;
					}
				}
				break;
		*/
			case 0:	if(banzeige==1){Stopp1(g);}
					if(banzeige>1)
					{
						banzeige=1;
					}
		}
	}
	public void Rechts1(Graphics g)
	{
		// Mensch 1
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x+3,y-28,x+4,y-28);			//Nase
		g.drawLine(x,y-14,x+4,y-1);				//Bein1
		g.drawLine(x+4,y-1,x+6,y-1);			//Fuß1
		g.drawLine(x,y-14,x-5,y-5);				//Bein2
		g.drawLine(x-5,y-5,x-8,y-6);			//Bein2
		g.drawLine(x-8,y-6,x-9,y-4);			//Fuß2
		g.drawLine(x,y-23,x+3,y-20);			//Arm1
		g.drawLine(x+3,y-20,x+6,y-18);			//Arm1
		g.drawLine(x,y-21,x-3,y-20);			//Arm2
		g.drawLine(x-3,y-20,x-6,y-16);
	}
	public void Rechts2(Graphics g)
	{
		// Mensch 2
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x+3,y-28,x+4,y-28);			//Nase
		g.drawLine(x,y-14,x+2,y-5);				//Bein1
		g.drawLine(x+2,y-5,x,y-2);				//Bein1
		g.drawLine(x,y-2,x+1,y);				//Fuß1
		g.drawLine(x,y-14,x+4,y-8);				//Bein2
		g.drawLine(x+4,y-8,x-3,y-4);			//Bein2
		g.drawLine(x-3,y-4,x-3,y-2);			//Fuß2
		g.drawLine(x,y-23,x+3,y-20);			//Arm1
		g.drawLine(x+3,y-20,x+7,y-23);			//Arm1
		g.drawLine(x,y-21,x-3,y-20);			//Arm2
		g.drawLine(x-3,y-20,x-8,y-18);			//Arm2
	}
	public void Rechts3(Graphics g)
	{
		// Mensch 3
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x+3,y-28,x+4,y-28);			//Nase
		g.drawLine(x,y-14,x+4,y-5);				//Bein1
		g.drawLine(x+4,y-5,x+1,y-2);			//Bein1
		g.drawLine(x+1,y-2,x+2,y);				//Fuß1
		g.drawLine(x,y-14,x-5,y-5);				//Bein2
		g.drawLine(x-5,y-5,x-8,y-4);			//Bein2
		g.drawLine(x-8,y-4,x-8,y-2);			//Fuß2
		g.drawLine(x,y-23,x+3,y-20);			//Arm1
		g.drawLine(x+3,y-20,x+7,y-23);			//Arm1
		g.drawLine(x,y-21,x-3,y-20);			//Arm2
		g.drawLine(x-3,y-20,x-8,y-18);			//Arm2
	}
	public void Rechts4(Graphics g)
	{
		// Mensch 4
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x+3,y-28,x+4,y-28);			//Nase
		g.drawLine(x,y-14,x+4,y-1);				//Bein1
		g.drawLine(x+4,y-1,x+6,y-1);			//Fuß1
		g.drawLine(x,y-14,x-4,y-1);				//Bein2
		g.drawLine(x-4,y-1,x-2,y-1);			//Fuß2
		g.drawLine(x,y-23,x+3,y-20);			//Arm1
		g.drawLine(x+3,y-20,x+7,y-23);			//Arm1
		g.drawLine(x,y-21,x-3,y-20);			//Arm2
		g.drawLine(x-3,y-20,x-8,y-18);			//Arm2
	}
	public void Links1(Graphics g)
	{
		// Mensch 1
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x-3,y-28,x-4,y-28);			//Nase
		g.drawLine(x,y-14,x-4,y-1);				//Bein1
		g.drawLine(x-4,y-1,x-6,y-1);			//Fuß1
		g.drawLine(x,y-14,x+5,y-5);				//Bein2
		g.drawLine(x+5,y-5,x+8,y-6);			//Bein2
		g.drawLine(x+8,y-6,x+9,y-4);			//Fuß2
		g.drawLine(x,y-23,x-3,y-20);			//Arm1
		g.drawLine(x-3,y-20,x-6,y-18);			//Arm1
		g.drawLine(x,y-21,x+3,y-20);			//Arm2
		g.drawLine(x+3,y-20,x+6,y-16);			//Arm2
	}
	public void Links2(Graphics g)
	{
		// Mensch 2
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x-3,y-28,x-4,y-28);			//Nase
		g.drawLine(x,y-14,x-2,y-5);				//Bein1
		g.drawLine(x-2,y-5,x,y-2);				//Bein1
		g.drawLine(x,y-2,x-1,y);				//Fuß1
		g.drawLine(x,y-14,x-4,y-8);				//Bein2
		g.drawLine(x-4,y-8,x+3,y-4);			//Bein2
		g.drawLine(x+3,y-4,x+3,y-2);			//Fuß2
		g.drawLine(x,y-23,x-3,y-20);			//Arm1
		g.drawLine(x-3,y-20,x-7,y-23);			//Arm1
		g.drawLine(x,y-21,x+3,y-20);			//Arm2
		g.drawLine(x+3,y-20,x+8,y-18);			//Arm2
	}
	public void Links3(Graphics g)
	{
		// Mensch 3
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x-3,y-28,x-4,y-28);			//Nase
		g.drawLine(x,y-14,x-4,y-5);				//Bein1
		g.drawLine(x-4,y-5,x-1,y-2);			//Bein1
		g.drawLine(x-1,y-2,x-2,y);				//Fuß1
		g.drawLine(x,y-14,x+5,y-5);				//Bein2
		g.drawLine(x+5,y-5,x+8,y-4);			//Bein2
		g.drawLine(x+8,y-4,x+8,y-2);			//Fuß2
		g.drawLine(x,y-23,x-3,y-20);			//Arm1
		g.drawLine(x-3,y-20,x-7,y-23);			//Arm1
		g.drawLine(x,y-21,x+3,y-20);			//Arm2
		g.drawLine(x+3,y-20,x+8,y-18);			//Arm2
	}
	public void Links4(Graphics g)
	{
		// Mensch 4
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x-3,y-28,x-4,y-28);			//Nase
		g.drawLine(x,y-14,x-4,y-1);				//Bein1
		g.drawLine(x-4,y-1,x-6,y-1);			//Fuß1
		g.drawLine(x,y-14,x+4,y-1);				//Bein2
		g.drawLine(x+4,y-1,x+2,y-1);			//Fuß2
		g.drawLine(x,y-23,x-3,y-20);			//Arm1
		g.drawLine(x-3,y-20,x-7,y-23);			//Arm1
		g.drawLine(x,y-21,x+3,y-20);			//Arm2
		g.drawLine(x+3,y-20,x+8,y-18);			//Arm2
	}
	public void Stopp1(Graphics g)
	{
		//Stopp1
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x,y-28,x,y-28);				//Nase
		g.drawLine(x,y-14,x-4,y-1);				//Bein1
		g.drawLine(x-4,y-1,x-6,y-1);			//Fuß1
		g.drawLine(x,y-14,x+4,y-1);				//Bein2
		g.drawLine(x+4,y-1,x+6,y-1);			//Fuß2
		g.drawLine(x,y-21,x-7,y-19);			//Arm1
		g.drawLine(x,y-21,x+7,y-19);			//Arm2
	}
	public void Runter1(Graphics g)
	{
		//Runter1
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x,y-28,x,y-28);				//Nase
		g.drawLine(x,y-14,x-4,y-1);				//Bein1
		g.drawLine(x-4,y-1,x-6,y-1);			//Fuß1
		g.drawLine(x,y-14,x+4,y-1);				//Bein2
		g.drawLine(x+4,y-1,x+6,y-1);			//Fuß2
		g.drawLine(x,y-21,x-7,y-19);			//Arm1
		g.drawLine(x,y-21,x+7,y-19);			//Arm2
	}
	public void Runter2(Graphics g)
	{
		//Runter2
		g.drawLine(x,y-14,x,y-25);				//Körper
		g.drawOval(x-3,y-31,6,6);				//Kopf
		g.drawLine(x,y-28,x,y-28);				//Nase
		g.drawLine(x,y-14,x-4,y-1);				//Bein1
		g.drawLine(x-4,y-1,x-6,y-1);			//Fuß1
		g.drawLine(x,y-14,x+4,y-1);				//Bein2
		g.drawLine(x+4,y-1,x+6,y-1);			//Fuß2
		g.drawLine(x,y-21,x-7,y-23);			//Arm1
		g.drawLine(x,y-21,x+7,y-23);			//Arm2
	}
}












//classe von der Spielwelt

import java.awt.*;
import java.awt.event.*;
import java.applet.*;// Import befehle
import java.net.*;

public class welt
{
	int xPlatte=100;
	int yPlatte=500;

	public void paint(Graphics g)
	{
		g.setColor(Color.yellow);
		g.fillRect(xPlatte,yPlatte,200,10);
	}
}
 

CyberKane

Aktives Mitglied
Ersteinmal sollte das ganze übersichtlicher werden. Anstatt 11 mehr oder weniger identschide Methoden für Zustände des Menschens zu schreiben würde eine einzige, parametisierte ausreichen.

Die wird dann eben Situationsabhängig aufgerufen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
A Figur zentrieren und Spielwelt erstellen Spiele- und Multimedia-Programmierung 1
O Fehler bei Programmierung lässt Figur nicht bewegen Spiele- und Multimedia-Programmierung 5
D Problem beim bewegen einer Figur Spiele- und Multimedia-Programmierung 2
F 2D Shooter (von oben) Kugelberechnung und drehen der Figur Spiele- und Multimedia-Programmierung 17
M Figur bewegen Spiele- und Multimedia-Programmierung 7
P Figur Rotation Spiele- und Multimedia-Programmierung 14
T [java3d] Figur drehen Spiele- und Multimedia-Programmierung 16
L Figur soll sich selbständig Bewegen Spiele- und Multimedia-Programmierung 12
B Gegner schiessen lassen Spiele- und Multimedia-Programmierung 6
I Wie kann ich die Kreise nach jeweils 1s spawnen lassen? Processing Spiele- und Multimedia-Programmierung 1
R Memory - Nicht alle Button lassen sich aktivieren? Spiele- und Multimedia-Programmierung 1
D JFrames in For Schleife öffnen lassen Spiele- und Multimedia-Programmierung 2
J CMD Output aktualisieren lassen statt neu erstellen? Spiele- und Multimedia-Programmierung 1
H Recheckte nacheinandergenerieren lassen (Applet) Spiele- und Multimedia-Programmierung 2
E Zwei Threads miteinander laufen lassen Spiele- und Multimedia-Programmierung 6
J Spielfiguren laufen lassen auf einer html Tabelle mit Hilfe von Servlets Spiele- und Multimedia-Programmierung 2
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
B Zufalls Insel generieren lassen Spiele- und Multimedia-Programmierung 11
J Bestimmte Pixel transparent erscheinen lassen Spiele- und Multimedia-Programmierung 5
Fl4sh1 Datum und Uhrzeit von einem Ereignis ausgeben lassen Spiele- und Multimedia-Programmierung 3
F Screenshot Programm nach Exception weiterlaufen lassen? Spiele- und Multimedia-Programmierung 9
M MJPEG Stream aufnehmen (Speichern und von VirtualDub weiterverarbeiten lassen). Spiele- und Multimedia-Programmierung 2
S Wolken Bild/Grafik vom Programm erstellen lassen Spiele- und Multimedia-Programmierung 11
F Programm mit Java3D unter Linux laufen lassen Spiele- und Multimedia-Programmierung 3
F LWJGL Smoother animieren lassen (wie bei JOGL = Animator) Spiele- und Multimedia-Programmierung 3
aze Java3D:Farbige Flächen verschwinden lassen(Transparenz- oder Colorinterpolator?)) Spiele- und Multimedia-Programmierung 5
J ping pong ball abprallen lassen Spiele- und Multimedia-Programmierung 12
StrikeTom Auto in bestimmte Richtung fahren lassen Spiele- und Multimedia-Programmierung 37
A Halbkreise zeichnen lassen? Spiele- und Multimedia-Programmierung 2
F Schleife warten lassen Spiele- und Multimedia-Programmierung 8
Developer_X 3D Point rotieren lassen Spiele- und Multimedia-Programmierung 17
P Ball mit schwerkraft hüpfen lassen Spiele- und Multimedia-Programmierung 9
K Kanten anzeigen lassen in einem Shape3D-Objekt Spiele- und Multimedia-Programmierung 4
A ein Auto seinen Weg folgen lassen Spiele- und Multimedia-Programmierung 3
W Computer herunterfahren lassen Spiele- und Multimedia-Programmierung 11
B Buttontexte langsam nacheinander erscheinen lassen Spiele- und Multimedia-Programmierung 3
P NPC zufällig laufen lassen, aber wie? Spiele- und Multimedia-Programmierung 2
D Dreieck um den Mittelpunkt rotieren lassen Spiele- und Multimedia-Programmierung 9
V Objekt per Tastendruck anzeigen/verschwinden lassen? Spiele- und Multimedia-Programmierung 4
A Objekte nacheinander zeitgesteuert rotieren lassen Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben