Guten Tag alle Nutzer. Ich schreibe grad an einem programm in GLOOP mit welchem man einen Avatar durch eine Welt voller zufällig generierter Bäume lenkt
Hauptklasse :
Baumdeklaration
die Klasse des Avatars ist denke ich mal, für folgendes Problem nicht verantwortlich:
Die Kollisionsabfrage funktioniert nicht. irgendjemand eine Idee? 🙁
Ich hatte schon einen Post, allerdings hat sich viel geändert und das Problem ist ein ganz anderes, nur leider kann ich den alten post nicht löschen.
Hauptklasse :
Java:
import GLOOP.*;
public class Spiel
{
GLKamera dieKamera;
GLLicht dasLicht;
GLTastatur dieTastatur;
GLBoden derBoden;
GLTextur texSand;
GLTextur texCloud;
GLHimmel derHimmel;
Avatar meinAvatar;
GLKugel dieSonne;
GLVektor vector;
baum[] derBaum;
// Attribute
// Konstruktor
public Spiel()
{
int i = 1;
int j = 46;
vector = new GLVektor(10000,10000,10000);
dasLicht = new GLLicht(vector);
dieTastatur = new GLTastatur();
texSand = new GLTextur("Sand.jpg");
texCloud = new GLTextur("Himmel.jpg");
derBoden = new GLBoden(texSand);
derHimmel = new GLHimmel(texCloud);
meinAvatar = new Avatar();
dieSonne = new GLKugel(100,100000,100,10000);
dieSonne.setzeSelbstleuchten(230,255,0);
derBaum = new baum[1000];
int beende = 1;
for(int k=0; k<1000; k++)
{
derBaum[k] = new baum(k);
}
while (/*!dieTastatur.esc() &&*/ beende != 2 ){
while(dieTastatur.links() || dieTastatur.istGedrueckt('a') || dieTastatur.istGedrueckt('A') || dieTastatur.rechts() || dieTastatur.istGedrueckt('d') || dieTastatur.istGedrueckt('D') || dieTastatur.oben() || dieTastatur.istGedrueckt('w') || dieTastatur.istGedrueckt('W') || dieTastatur.unten() || dieTastatur.istGedrueckt('s') || dieTastatur.istGedrueckt('S'))
{
if (dieTastatur.links() || dieTastatur.istGedrueckt('a') || dieTastatur.istGedrueckt('A') )
{
meinAvatar.bewegeLinks();
}
if (dieTastatur.rechts() || dieTastatur.istGedrueckt('d') || dieTastatur.istGedrueckt('D') )
{
meinAvatar.bewegeRechts();
}
if (dieTastatur.oben() || dieTastatur.istGedrueckt('w') || dieTastatur.istGedrueckt('W') )
{
meinAvatar.bewegeVor();
}
if (dieTastatur.unten() || dieTastatur.istGedrueckt('s') || dieTastatur.istGedrueckt('S') )
{
meinAvatar.bewegeZurück();
}
if (i < 91 && i > 0)
{
meinAvatar.rotierep( );
i++;
}
if (i == j) i = -1;
if (i > -91 && i <0)
{
meinAvatar.rotierem();
i--;
}
if (i == -91)
{
i = 1;
j = 91;
}
for(int k=0; k <1000; k++)
{
if(meinAvatar.gibX() == derBaum[k].gibX()
|| meinAvatar.gibZ() == derBaum[k].gibZ())
{
beende = 2 ;
}
}
Sys.warte(1);
}
meinAvatar.rotationnull();
j=46;
i=1;
}
Sys.beenden();
}
}
Baumdeklaration
Java:
import GLOOP.*;
class baum{
GLQuader Stamm;
GLWuerfel Busch;
public baum(int k)
{
double rnx;
double rnz;
rnx = (Math.random()*500000)-250000;
rnz = (Math.random()*500000)-250000;
Stamm = new GLQuader(rnx ,300,rnz,100,600,100) ;
Busch = new GLWuerfel(rnx,1000,rnz,800);
Stamm.setzeTextur("Stamm.jpg");
Busch.setzeTextur("Busch.jpg");
}
public double gibX(){
return Stamm.gibX();
}
public double gibZ(){
return Stamm.gibZ();
}
}
die Klasse des Avatars ist denke ich mal, für folgendes Problem nicht verantwortlich:
Die Kollisionsabfrage funktioniert nicht. irgendjemand eine Idee? 🙁
Ich hatte schon einen Post, allerdings hat sich viel geändert und das Problem ist ein ganz anderes, nur leider kann ich den alten post nicht löschen.
Zuletzt bearbeitet: