Ich habe ein Problem und hoffe ihr könnt mir erneut helfen
Ich möchte noch nicht einmal unbedingt, dass ihr mir komplette Lösungen vorschlagt ich möchte vielmehr Lösungsansätze
Hier mein Problem:
Wir möchten "Achtung die Kurve" in der Schule programmieren falls ihr das Spiel nicht kennen solltet klickt mal hier: Achtung die kurve flash - Endlosspielen.de Kostenlose Spiele Minigames gratis spielen
Man lässt eine Linie in eine Richtung streben und kann diese durch 2 tasten ändern, wenn man eine taste gedrückt halt "fährt" die Linie einen Kreis
Nun wüsste ich gerne von euch wie ich es am besten realisieren kann, dass die Steuerung über 2 Knöpfe
diese Richtungsänderung bewirkt. Wie komme ich an eine Lösung? vielleich über die Berechnung der Steigung meines zweit letzten Punktes zum letzen Punkt? oder habt ihr andere Ideen?
Hier mein Code den ich bisher habe:
durch gedrückthalten der linken maustaste fährt der strich nach links durch drücken der rechten nach rechts aber nach den drücken soll der strich dann auch in die richtung streben und nicht nur ein stück weiter nach rechts oder links "fahren"
Ich möchte noch nicht einmal unbedingt, dass ihr mir komplette Lösungen vorschlagt ich möchte vielmehr Lösungsansätze
Hier mein Problem:
Wir möchten "Achtung die Kurve" in der Schule programmieren falls ihr das Spiel nicht kennen solltet klickt mal hier: Achtung die kurve flash - Endlosspielen.de Kostenlose Spiele Minigames gratis spielen
Man lässt eine Linie in eine Richtung streben und kann diese durch 2 tasten ändern, wenn man eine taste gedrückt halt "fährt" die Linie einen Kreis
Nun wüsste ich gerne von euch wie ich es am besten realisieren kann, dass die Steuerung über 2 Knöpfe
diese Richtungsänderung bewirkt. Wie komme ich an eine Lösung? vielleich über die Berechnung der Steigung meines zweit letzten Punktes zum letzen Punkt? oder habt ihr andere Ideen?
Hier mein Code den ich bisher habe:
durch gedrückthalten der linken maustaste fährt der strich nach links durch drücken der rechten nach rechts aber nach den drücken soll der strich dann auch in die richtung streben und nicht nur ein stück weiter nach rechts oder links "fahren"
Java:
import java.awt.*;
import java.awt.event.*;
import java.awt.Point;
import javax.swing.*;
import java.util.ArrayList;
public class Spielfeld2 extends JFrame{
JPanel spielfeld = new JPanel();
Spielflaeche spielflaeche = new Spielflaeche();
int xkoord = 200;
int ykoord = 0;
ArrayList<Point> koordAL = new ArrayList<Point>();
int lpressed = 0;
int rpressed = 0;
Point koord;
int[] xkoordA =new int[1000];
int[] ykoordA =new int[1000];
class Zeichnen extends Thread {
public void run() {
for(int i = 0; i<950; i++){
try{
sleep(7);
}
catch(InterruptedException e) {
}
ykoord++;
koordAL.add(new Point(xkoord, ykoord));
for(int i2 = 0; i2 < koordAL.size(); i2++){
koord = koordAL.get(i2);
xkoordA[i2] = koord.x;
ykoordA[i2] = koord.y;
}
if (lpressed==1){
xkoord++;
}
if (rpressed==1){
xkoord--;
}
add("Center", spielflaeche);
repaint();
}
}
}
class Spielflaeche extends JPanel {
Spielflaeche() {
setLayout(null);
setBackground(Color.red);
}
public void paintComponent(Graphics g) {
g.setColor(Color.black);
g.fillRect(0,0,getWidth(), getHeight());
g.setColor(Color.white);
for(int i = 0; i <= koordAL.size(); i++){
g.drawOval(xkoordA[i],ykoordA[i],5,5);
g.fillOval(xkoordA[i],ykoordA[i],5,5);
}
g.drawLine(66,77,66,ykoord);
}
}
public Spielfeld2()
{
super ("ADK");
initFrame();
addMouseListener(new MyMouseListener());
}
public void initFrame() {
spielfeld.setLayout(new BorderLayout());
setSize(1000,1000);
add("Center", spielflaeche);
Zeichnen ausgabe = new Zeichnen();
ausgabe.start();
setVisible(true);
}
class MyMouseListener extends MouseAdapter
{
Graphics g = getGraphics();
public void mousePressed(MouseEvent event)
{
if (event.getModifiers() == 4) {
rpressed = 1;
}
else if (event.getModifiers() == 16) {
lpressed = 1;
}
}
public void mouseReleased(MouseEvent event)
{
lpressed = 0;
rpressed = 0;
}
}
}