Code für Steuerkreuz!

Status
Nicht offen für weitere Antworten.

SirBaros

Bekanntes Mitglied
Hallo! Ich möchte in meinem Spiel ein Balke mit dem steuerkreuz steuern! suche schon verzweifelt im Krueger handbuch und java ist auch eine Insel ein Code! kann mir jemand helfen!!???
 
Konrad Duden könnte sicherlich zur Beantwortung der Frage beitragen.

Probiers doch mal mit Graphics.drawImage(Image img); Das Graphics-Objekt findest du im Package javax.microedition.lcdui.

...
 
Jockel hat gesagt.:
Konrad Duden könnte sicherlich zur Beantwortung der Frage beitragen.

Probiers doch mal mit Graphics.drawImage(Image img); Das Graphics-Objekt findest du im Package javax.microedition.lcdui.

...

Was labert der da?

mfg
jagdfalke
 
ich habs es mal probiert in einem beispiel wo ist der fehler!!
Code:
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class wallbreaker extends Frame{
	Canvas cv;
	
	public wallbreaker(){
	
		Panel p=new Panel();
	  	p.setLayout(new FlowLayout());
	    
	  	cv=new Canvas();
        cv.setSize(550,450);
        cv.setBackground(Color.RED);
        
        Button bt= new Button("Spiel los");
        
        p.add(cv);
        p.add(bt);
        add(p);
		
        bt.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent  e){
            	keyPressed();
       
            }
                  
        }); 
        
        
        
	     addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        
        })
        ;
		
	}	
	public void keyPressed()
	  {	
		 Graphics g;
         g=cv.getGraphics();
         
	     if (event.getKeyCode() == KeyEvent.VK_KP_LEFT) {
	     	g.drawRect(50,50,50,50);
	     }
		    
		
	}
	public static void main(String[] args) {
		wallbreaker w=new wallbreaker();
        w.setSize(700,500);
        w.setVisible(true);
		
	}
}
 
Leider ist nicht so ganz zu erkenne, was jetzt eigentlich gemeint ist, aber hier mal mein Code zur Steuerung eines Balken in einem JFrame, viel Spaß damit:


Die Hauptklasse, die das Fenster initialisiert und ein Objekt vom Typ Balken, welcher in der unteren Klasse dargestellt ist.
Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;

public class BalkenGame extends JFrame implements KeyListener{

	//wir erzeugen einen Balken an der Position x=135, y=90
	// mit der Breite 50, der Höhe 10 und der Farbe blau
	// die 10 gibt die Schritte in die jeweilige Richtung an
	private Balken bal = new Balken(135,90,50,10,Color.BLUE,10);
	
	
	/**
	 * Construktor
	 */
	public BalkenGame(){
		super();
		this.setTitle("Balken Game :)");
		this.setSize(new Dimension(320,200));
		this.getContentPane().setBackground(Color.BLACK);
		this.addKeyListener(this);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLocationRelativeTo(null);
		this.setVisible(true);
	}
	
	/* (non-Javadoc)
	 * @see java.awt.Component#paint(java.awt.Graphics)
	 * wird aufgerufen, wenn repaint aufgerufen wird
	 */
	public void paint(Graphics gr) {
		super.paint(gr);
		this.setBackground(Color.BLACK);
		this.bal.drawBalken(gr);
	}
	
	/* (non-Javadoc)
	 * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
	 * wenn eine der Pfeiltasten gedrückt wurdE, dann die Position um balkenSpeed erhöhen oder verringern
	 */
	public void keyPressed(KeyEvent event) {
		if (event.getKeyCode() == KeyEvent.VK_DOWN)
			bal.setYPos(bal.getYPos()+bal.getBalkenSpeed());
		if (event.getKeyCode() == KeyEvent.VK_UP)
			bal.setYPos(bal.getYPos()-bal.getBalkenSpeed());
		if (event.getKeyCode() == KeyEvent.VK_RIGHT)
			bal.setXPos(bal.getXPos()+bal.getBalkenSpeed());
		if (event.getKeyCode() == KeyEvent.VK_LEFT)
			bal.setXPos(bal.getXPos()-bal.getBalkenSpeed());
		this.repaint(); //repaint
	}
	
	public void keyReleased(KeyEvent arg0) {}	//nicht benötigt
	public void keyTyped(KeyEvent arg0) {}		//NICHT BENÖTIGT

	public static void main(String[] args) {
		new BalkenGame();
	}
}

Code:
import java.awt.Color;
import java.awt.Graphics;


public class Balken {

	private int xPos = 0;		//x-Position des Balken
	private int yPos = 0;		//y-Position des Balken
	private int height = 20;	//Höhe
	private int width = 40;		//Breite
	private Color col = Color.BLUE;	//farbe
	private int balkenSpeed = 10;	//Inkrementwert für neue Position
	
	/**
	 * Constructor
	 * 
	 * @param xPos
	 * @param yPos
	 * @param width
	 * @param height
	 * @param col
	 * @param balkenSpeed
	 */
	public Balken(int xPos, int yPos, int width, int height,  Color col, int balkenSpeed) {
		super();
		this.xPos = xPos;
		this.yPos = yPos;
		this.height = height;
		this.width = width;
		this.col = col;
		this.balkenSpeed = balkenSpeed;
	}
	
	/**
	 * Malt den Baolken mit den aktuellen Angaben
	 * @param gr
	 */
	public void drawBalken(Graphics gr){
		gr.setColor(this.col);
		gr.fillRect(this.xPos,this.yPos,this.width, this.height);
	}

	/**
	 * Alle Getter und Setter
	 */

	public int getXPos() {
		return xPos;
	}

	public void setXPos(int pos) {
		xPos = pos;
	}

	public int getYPos() {
		return yPos;
	}

	public void setYPos(int pos) {
		yPos = pos;
	}

	public Color getCol() {
		return col;
	}

	public int getHeight() {
		return height;
	}

	public int getWidth() {
		return width;
	}
	
	public int getBalkenSpeed() {
		return balkenSpeed;
	}
}

Ich hoffe das ganze hat ein bischen geholfen 😀
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben