wald problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

darth

Betreff: wald problem

BeitragSa, Aug 06, 2005 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

ich hab n wald gemacht (mit copyentity), jetzt hab ich probleme damit ^^
1. der collisions befehl funktioniert nur beim 1. baum der schleife
2. die bäume fallen sehr oft aufeinander - lässt sich das verhindern?
Code: [AUSKLAPPEN]
For wald=1 To 100
 CopyEntity(baum)
   x=x-x ; x wieder auf urspr.
   z=z-z+5 ; z wieder auf urspr.
  x=x+Rand(5,150)
  z=z+Rand(5,150)
 PositionEntity baum,x,0,z
  w=Rand(0,360)
 TurnEntity baum,0,w,0
  h=Rand(1,3)
 If h=1 Then Entitytexture baum,baum_tex1
 If h=2 Then Entitytexture baum,baum_tex2
 If h=3 Then Entitytexture baum,baum_tex3
Next


=> oder gibts vllt ne möglichkeit, den generierten wald als mesh (*.3ds) dann abzuspeichern? dann wärn alle probleme gelöst *träum*
Diese Signatur ist leer.
 

Schnuff

BeitragSo, Aug 07, 2005 13:39
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

Dim baum(100); ein Arrey, damit jeder Baum \"ansprechbar\" ist :wink:
baum(0)=LoadMesh(\"Baum.x\") ; Orginal Baum

For wald=1 To 100
baum(wald)=CopyEntity(baum(0))
x=x-x ; x wieder auf urspr.
z=z-z+5 ; z wieder auf urspr.
x=x+Rand(5,150)
z=z+Rand(5,150)
PositionEntity baum(wald),x,0,z
w=Rand(0,360)
TurnEntity baum(wald),0,w,0
h=Rand(1,3)
If h=1 Then EntityTexture baum(wald),baum_tex1
If h=2 Then EntityTexture baum(wald),baum_tex2
If h=3 Then EntityTexture baum(wald),baum_tex3
entititype Baum(wald),1 ; Kollisions Type auf 1
Next


so müstest du das glaube ich machen

darth

Betreff: cool!!!

BeitragSo, Aug 07, 2005 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
cool!!! nach einigen vielen tippfehlern und verschreibern meinerseits hats endlich funktioniert ^^ danke!!!

jetzt bräucht ich nur noch, dass die bäume nich übereinanderfallen...
ich habs mit
If EntityDistance(cube(city),cube(city))<3 Then
x=x+3
z=z+3
EndIf
versucht, aber irgendwie guckt er dann nur, ob der einte würfel (der der grad gemacht wurde) bei dem einem zu nah ist und positioniert ihn dann um - er sollte aber gucken, dass die würfel ÜBERALL nicht zu nah sind (also min. 3 abstand)...
Diese Signatur ist leer.
 

Ensign Joe

BeitragMo, Aug 08, 2005 2:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
if entitydistance(einbaum,andererbaum) < 3 then
hideendity einbaum
endif
Ich habe jetzt eine Pommesbude aufgemacht am Münchner Hauptbahnhof.
Und da ich Herbert Görgens heiße, heißt diese Pommesbude
Herbert's Pommesbude Smile
 

Schnuff

BeitragMo, Aug 08, 2005 10:52
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du dass mit den Bäumen machen möchtest dann musst du jeden
Baum einzeln abchecken
dh:
BlitzBasic: [AUSKLAPPEN]

For wald=0 To 100 ; alle Bäume abchecken
If EntityDistance(Baum(wald),Baum(gerde_erstellt)) < 3 Then
x=x+3
z=z+3
wald=wald-1 ; damit dieser Baum noch einmal Kontroliert wird
EndIf
Next


alternative ist dass du jeden Baum einzeln setzt (per hand) Wink

darth

Betreff: geht nicht

BeitragDi, Aug 09, 2005 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
geht nicht... da kommt "function not found" (bei dem baum(gerade_erstellt) ) ^^ oder war das so gemeint, dass ich das nich einfach abschreiben soll?
und als ich baum(gerade_erstellt) durch baum(wald) ersetzt hab (kA warum ich das getan hab...) dann is der nirgens hingekommen...
[edit] logisch... baum(wald)=baum(wald) also IST dist immer kl. als 3... d.h. wald immer -1 also kommt der nie weiter... *stirnhau*
Diese Signatur ist leer.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group