Hallo ich arbeite zurzeit an einem Dreidimensionalen Raum womit man mit einen Knopf ein Haus setzten kann. Das funktioniert auch ganz gut. Nur ich möchte jetzt es noch so machen, dass wenn man ein Haus setzt und ein anderes Haus ist zu nah, also das sie dann ineinander sind(Also sich schneiden) Dann soll kein Haus gesetzt werden. Ich glaube es liegt eher an einem Rechenfehler(Muss warscheinlich anders überprüft werden) und nicht an einem Java Fehler. Ich Benutze für die Positionen folgende Arrays:
Dann nutzte ich follgende Funktion um die Arrays Standartwerten zu zuweisen:
Ich benutze um die Häuser zu zeichenen eine
Methode. (Die Methode ist viel zu lang um sie zu Posten)
Bisher benutze ich folgende Methode zum vergleichen Ob irgendwo was im Weg ist:
Funktioniert manschmal, manschmal aber nicht dann hab ich sie ineinander hängen
Hoffe könnt mir helfen
nik20
P.S. Habe mit absicht Arrays benutzt und keine Lists weil beabsichtigt ist das mann nicht Mehr als 1001 Häuser setzten kann
Java:
public static float[] housex = new float[1000];
public static float[] housey = new float[1000];
public static float[] housez = new float[1000];
Java:
for(int i=0; i<1000; i++) {
housex[ i ] = 0.0f;
housey[ i ] = 0.0f;
housez[ i ] = 0.0f;
}
Code:
renderHouseAt(float x, float y, float { }
Bisher benutze ich folgende Methode zum vergleichen Ob irgendwo was im Weg ist:
Java:
for(int i=0; i<1000; i++) {
if(x<(housex[i]+4.0f) && x>(housex[i]-4.0f)) {
ok=false;
break;
}
if(z<(housez[i]+4.0f) && z>(housez[i]-4.0f)) { //Habs auch schon ohne Klammern versucht
ok=false;
break;
}
//Y ist egal das ist nicht so wichtig
}
if(ok==true) {
//Hier added er das Haus erst
}
Hoffe könnt mir helfen
nik20
P.S. Habe mit absicht Arrays benutzt und keine Lists weil beabsichtigt ist das mann nicht Mehr als 1001 Häuser setzten kann
Zuletzt bearbeitet: