Toon posts:

[JAVA] Hoe overige driehoeken positioneren?

Pagina: 1
Acties:
  • 289 views sinds 30-01-2008

Verwijderd

Topicstarter
Hi,

Ik ben bezig met een vrij simpele app waarbij er 3 driehoeken op het scherm worden gezet:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Test extends Applet {
    
    public void paint(Graphics g) {
        tekenDriehoek(g, 20, 20, 100, 200, 20, 200);
    }
    
    void tekenDriehoek(Graphics g, int x1, int y1, int x2, int y2, int x3, int y3) {
        for(int i = 0; i <= 3; i++) {
            g.drawLine(x1, y1, 100, 200);
            g.drawLine(x2, y2, 20, 200);
            g.drawLine(x3, y3, 20, 20);
        }
        
    }
    
}
Alle 3 de driehoeken worden nu echter over elkaar geplaatst.
Ik weet dat ik de posities in een variabele kan gooien, ik ben in dit geval (omdat de x en y positie in paint wordt meegegeven raak ik in de war) echter vergeten hoe.

Iemand die een kleine aanzet kan geven?

Verwijderd

Is het niet beter om een methode te maken waarbij je een startpositie + zijdelengte moet opgeven, dus bijvoorbeeld tekenDriehoek(int startPosx, int startPosy, int length)? Daarmee kun je vervolgens in de methode gaan uitrekenen waar je lijnen moet tekenen om een driehoek te krijgen. Vervolgens roep je die methode drie keer aan met verschillende startposities en eventueel ook verschillende zijdelengtes om drie (verschillende) driehoeken te krijgen.

[ Voor 7% gewijzigd door Verwijderd op 24-04-2005 20:17 ]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
ik snap je vraag niet helemaal
je wilt 3x een driehoek tekenen
je hebt een functie die 1 driehoek zou moeten tekenen, en die er 3 tekent

ten eerste, zorg dat die functie maar _1_ driehoek tekent, en zorg dat je hem 3x aanroept.
dan kan je dus simpel 3 verschillende waardes meegeven in je paint methode.

verder moet je me de vraag maar uitleggen, want waarom zou je als je alleen 3 statische driehoeken wilt deze opslaan in een var?

This message was sent on 100% recyclable electrons.


Verwijderd

Topicstarter
Hmm, ik zie het verschil niet tussen 1x aanroepen van 3 driehoeken (die getekend worden m.b.v. een loop) of het 3x aanroepen van één getekende driehoek?

Btw, ben nog een Java noob. :)

Verwijderd

Een methode maak je meestal om een handeling die vaker gedaan moet worden (driehoek tekenen) maar nooit meerdere keren op precies dezelfde manier (positie, grootte) in minder code op te schrijven. Je kan natuurlijk dat lapje code knippen, drie keer plakken, en de variabelen wijzigen om drie driehoeken te krijgen. Maar je kunt ook de code 1 keer in een methode neerzetten en vervolgens de methode 3 keer aanroepen. Is minder code, makkelijker aan te passen en bovendien ook simpeler om 1000 driehoeken te tekenen als je dat toevallig nodig hebt ;)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Geeft niks. Zolang je zelf maar bereidt bent om het 1 en ander uit te zoeken.

Probeer eerst eens een functie te maken die 1 driehoek tekent aan de hand van de drie punten die je als parameter meegeeft. Als dat lukt roep ie die functie drie keer aan met andere punten.

Hier moet je echt wel zelf uit kunnen komen, je bent al een heel eind ;)

Mocht het echt niet lukken en je wilt een nieuw topic openen let dan even op P&W FAQ - De "quickstart". En dan met name op het stuk waarin staat dat je eerst zelf het 1 en ander moet gaan proberen en dat je ook in je startpost aangeeft wat je nu zelf al hebt geprobeerd en wat daar niet mee lukte.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.