Klasse Auto

Hi,
ich möchte eine Klasse Auto schreiben, bei der die Methode draw() vorkommt! Also bei meinem Hauptprogramm erzeuge ich ein Objekt auto1 und rufe die Methode draw() auf:
auto1.draw(x1, x2, größe in %);
da nach soll in meinem JFrame ein Auto erscheinen in der Farbe wie für das Objekt auto1 (auto1.setFarbe(Color.RED):wink: festgelegt wurde.

Ich weis nicht wie ich vorgehen soll, könnte ja lauter Vierecke zeichnen lassen, die dann am Ende aussehen wie ein Auto :smiley: Ok, Scherz bei Seite! Könnte verschiedene Bilder nehmen, je nach Farbe ein anderes Bild. Wäre aber auch kacke!

Bitte um Hilfe

Lg Dennis

Hi,

Hi

ich möchte eine Klasse Auto schreiben, bei der die Methode
draw() vorkommt! Also bei meinem Hauptprogramm erzeuge ich ein
Objekt auto1 und rufe die Methode draw() auf:
auto1.draw(x1, x2, größe in %);
da nach soll in meinem JFrame ein Auto erscheinen in der Farbe
wie für das Objekt auto1 (auto1.setFarbe(Color.RED):wink:
festgelegt wurde.

Wozu?

Ich weis nicht wie ich vorgehen soll, könnte ja lauter Vierecke zeichnen lassen, die dann am Ende aussehen wie ein Auto

genau so geht das auch :smiley:

:smiley: Ok, Scherz bei Seite! Könnte verschiedene Bilder
nehmen, je nach Farbe ein anderes Bild. Wäre aber auch kacke!

Das währe wirklich unpraktisch weil die Klasse dann nicht alle Fälle erfüllen kann die du durch die Eigenschaft vom Typ

Color

anbietest

Bitte um Hilfe

Eigentlich kennst du die Lösung doch schon, ich Würde mich aber nicht Auf Vierecke begrenzen sonders es lieber mit Vie l ecken versuchen

Lg Dennis

Hi, habe mal grob ein Auto erstellt:

public void paint(Graphics g){
int exes[] = { 40, 40,650,650,500,300,150 };
int whys[] = { 375,435,435,375,270,270,340 };
int pts = exes.length;
g.drawPolygon(exes,whys,pts);
}

Wie kann ich denn das über die Methode draw() in der Klasse laufen lassen?

Hat jemand lust das Auto richtig geil zu desingen?

Lg Dennis

Also, das ist der Teil in meinem Hauptprogramm:

auto1.setFarbe(Color.BLUE);
Graphics g = cp.getGraphics();
auto1.draw(20, 20, 50, g);

Das ist dir Klasse Auto:

import java.awt.*;

// Autor: %AUTHOR%
// Datum: %DATE%

public class Auto {

// Anfang Attribute
private int x=0;
private int y=0;
private int p=100; // Größe in %
private Color farbe = Color.RED;
// Ende Attribute

// Anfang Methoden
public Color getFarbe() {
return farbe;
}

public void setFarbe(Color farbe) {
this.farbe = farbe;
}

public void draw(int x, int y, int p, Graphics g) {
this.x = x;
this.y = y;
this.p = p;

g.setColor(farbe);

int exes[] = { x+ 0*p/100, x+ 0*p/100, x+610*p/100, x+610*p/100, x+460*p/100, x+260*p/100, x+110*p/100 };
int whys[] = { y+105*p/100, y+165*p/100, y+165*p/100, y+105*p/100, y+ 0*p/100, y+ 0*p/100, y+ 70*p/100 };
int pts = exes.length;
g.fillPolygon(exes,whys,pts);
g.fillArc(x+ 50*p/100, y+100*p/100, 100*p/100, 100*p/100, 0, 360);
g.fillArc(x+450*p/100, y+100*p/100, 100*p/100, 100*p/100, 0, 360);
}

// Ende Methoden
}

Was mache ich falsch?

Lg Dennis