SparkMonkay
Commander
- Registriert
- Feb. 2013
- Beiträge
- 2.337
Moin,
ich hatte ne nette Idee für ein kleines Spielchen, nur ist mein Problem gerade zu verstehen wie die KeyEvents funktionieren.
Hier erstmals mein Code:
Ok, das hier ist nur eine extra Datei, in der ich versuche einen Codeauschnitt abgeändert auf ein minimum zum Laufen zu bringen.
Mein Ziel: Ich möchte zZ nur die Pfeiltasten VK_LEFT und VK_RIGHT benutzen können. Diese Methoden, soll die X-Koordinaten von einer Platte
verändern. Also es soll diese Platte nach links und rechts geschoben werden.
Nun, wie benutze ich die Methode? Durch Google, bin ich zu keiner wirklichen Erkentniss gekommen.
Was muss hier anders sein?
Wahrscheinich so einiges.
Danke für hilfreiche Antworten und für eure Zeit ^^
//EDIT
Hier das "Hauptprogramm", wo ich meine" "Platte " verschieben möchte,
Nun stellt sich die Frage: Ist es so möglich?
ich hatte ne nette Idee für ein kleines Spielchen, nur ist mein Problem gerade zu verstehen wie die KeyEvents funktionieren.
Hier erstmals mein Code:
Code:
import java.awt.event.KeyEvent;
public class TEST{
public void keyPressed(KeyEvent e) {
System.out.println("Press");
switch (e.getKeyCode()){
case KeyEvent.VK_A :
System.out.println("A");
break;
case KeyEvent.VK_B:
System.out.println("A");
break;
//USW.
}
}
public static void main(String[]args){
/********************
* TEST TEST TEST *
********************/
craft.keyPressed(e);
}
}
Ok, das hier ist nur eine extra Datei, in der ich versuche einen Codeauschnitt abgeändert auf ein minimum zum Laufen zu bringen.
Mein Ziel: Ich möchte zZ nur die Pfeiltasten VK_LEFT und VK_RIGHT benutzen können. Diese Methoden, soll die X-Koordinaten von einer Platte
verändern. Also es soll diese Platte nach links und rechts geschoben werden.
Nun, wie benutze ich die Methode? Durch Google, bin ich zu keiner wirklichen Erkentniss gekommen.
Was muss hier anders sein?
Wahrscheinich so einiges.
Danke für hilfreiche Antworten und für eure Zeit ^^
//EDIT
Hier das "Hauptprogramm", wo ich meine" "Platte " verschieben möchte,
ACHTUNG: Wenn du das Compilen willst, musst du StdDraw im selben Ordner haben, oder importieren!
Hier ist einmal StdDraw: 'klick'
Hier ist einmal StdDraw: 'klick'
Code:
public class Game{
public static void main(String[]args){
int x1_sc =0; //setXscale, first koordinate
int x2_sc =100; //setXscale, second koordinate
int y1_sc =0; //setYscale, first koordinate
int y2_sc =100; //setXscale, second koordinate
int square=50; //koordinates of the filled square (center is (50,50) and rad is 50)
int x_pos =50; //koordinate of the ball
int y_pos =7; //
int rad =2; // radius of the ball
int x_sp =2; //Movementspeed of the ball
int y_sp =1; //Movementspeed of the ball
int x_Rect=50;
//The area
StdDraw.setXscale(x1_sc,x2_sc);
StdDraw.setYscale(y1_sc,y2_sc);
while(true){
//The background
StdDraw.setPenColor(StdDraw.BLACK);
StdDraw.filledSquare(square,square,square);
//Your "pannel"
StdDraw.setPenColor(StdDraw.RED); // <---- Die Koordinaten von dem Teil sollen hin und her geschoben werden
StdDraw.filledRectangle(x_Rect,5,10,1); // und dass wollte ich mittels dem getKeyCode umsetzten
//The lower boarder
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.line(0,2,100,2);
//Your ball ^_^
StdDraw.setPenColor(StdDraw.CYAN);
StdDraw.filledCircle(x_pos,y_pos,rad);
//The ball has to bounce , from the walls
if((Math.abs(x_pos+x_sp)+rad)> 100) { x_sp=(-x_sp); }
else if((Math.abs(y_pos+y_sp)+rad)> 100) { y_sp=(-y_sp); }
else if((Math.abs(y_pos+y_sp)-rad)<= 0) { y_sp=(-y_sp); }
else if((Math.abs(x_pos+x_sp)-rad)<= 0) { x_sp=(-x_sp); }
//Movement
x_pos=x_pos+x_sp;
y_pos=y_pos+y_sp;
StdDraw.show(20);
}
}
}
Zuletzt bearbeitet: