Till hypot-funktionen skickar du med avståndet mellan punkterna i X-led samt avståendet i Y-led.
while(hypot(t.getX()-t2.getX(), t.getY()-t2.getY()) <= 50)
Var det så du gjort när du försökte?
7 svar · 943 visningar · startad av xtreme
skriver jag
while(t.getX() - t2.getX() <=50 && t.getY() - t2.getY() <=50) {
fortsätter loopen så länge det är minst 50 pixlar mellan t och t2. Problemet är att det inte fungerar på diagonalen så jag gissar att jag måste räkna ut med pythagoras sats på något sätt. Har provat med
double hypot(double x, double y);
men vet inte riktigt hur jag ska använda det.
Till hypot-funktionen skickar du med avståndet mellan punkterna i X-led samt avståendet i Y-led.
while(hypot(t.getX()-t2.getX(), t.getY()-t2.getY()) <= 50)
Var det så du gjort när du försökte?
xtreme, vad säger du egentligen? Och vad försöker du göra?
Är det någon slags animation? Eller en iterativ algoritm?
Har du funderat på vad som händer om t.getX() < t2.getX() ?
Gein skrev:
Till hypot-funktionen skickar du med avståndet mellan punkterna i X-led samt avståendet i Y-led.
while(hypot(t.getX()-t2.getX(), t.getY()-t2.getY()) <= 50)Var det så du gjort när du försökte?
Ja det var så jag gjorde och hypot blir understryket och jag får följande felmeddelande: "The method hypot(int, int) is undefined for the type.."
nitro2k01 skrev:
xtreme, vad säger du egentligen? Och vad försöker du göra?
Är det någon slags animation? Eller en iterativ algoritm?
Har du funderat på vad som händer om t.getX() < t2.getX() ?
Har två sträck som ritas upp slumpvis. När sträcken är 50 pixlar eller mindre från varandra så slutar dom att rita.
xtreme skrev:
Ja det var så jag gjorde och hypot blir understryket och jag får följande felmeddelande: "The method hypot(int, int) is undefined for the type.."
Nu var det länge sedan jag satt med Java men det låter som att du skickar in int:ar och inte double. Prova typkasta argumenten till double.
Näe, nu ser jag felet. Metoden hypot är en klassmetod till klassen Math, och måste anropas med Math.hypot(dx,dy);
Där var felet ;) tackar!