Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Informatik in der Schule (http://www.informatikerboard.de/board/board.php?boardid=21)
--- Drei konzentrische Kreise (http://www.informatikerboard.de/board/thread.php?threadid=3890)


Geschrieben von Forschleifenschreiber3 am 14.04.2018 um 14:02:

  Drei konzentrische Kreise

Meine Frage:
Zeichnen Sie an der Stelle Ihres Mauszeigers drei konzentrische Kreise um den Mauspunkt, die die Durchmesser 30, 40, 50 haben. Schreiben Sie den Code so, dass Sie auch 5 oder 2 Kreise (oder mehr oder weniger) zeichnen können...

Meine Ideen:
void setup() {
frameRate(2);
size(500,500);
int x=20;
int y=20;


}
void draw() {
background(255);
noFill();
int n=2;
for(int i=0; i<n;i++){
ellipse(mouseX,mouseY,x,y);
}


}
Meine Frage hier ist folgende:
Wo muss ich x und y erweitern, bzw in welchem Schleifenabschnitt.
Eigentlich sollte x=+10 und y=+10 ja in der draw "Schleife" stehen. In der for-Schleife wäre der Befehl ja nach der abschließenden Klammer nichts mehr wert.
Generell dachte ich, dass alles was ich in Setup schreibe mit zu draw übernommen wird. Allerdings klappt es manchmal nicht.
Generell bekomme ich meistens den Fehler:
The Field Component.x is not visible...
Was mache ich falsch?



Geschrieben von as_string am 16.04.2018 um 11:22:

 

Du hast ja x und y offenbar als lokale Variablen in der setup()-Methode definiert. Dann kannst Du die sonst nirgends "sehen", auch nicht in draw(). Wenn Du aber in der setup()-Methode etwas einer Membervariable der Klasse zuweist, bevor draw() aufgerufen wird, dann ist dieser Wert auch in draw() verfügbar.
Setze Dich erst mit der Sichtbarkeit von Variablen auseinander.

Gurß
Marco


Forensoftware: Burning Board, entwickelt von WoltLab GmbH