objekte in einem bereich zufällig platzieren

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

sidolin

Betreff: objekte in einem bereich zufällig platzieren

BeitragSa, Feb 14, 2004 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
he ho.
jetzt wird`s kompliziert. Very Happy

ich möchte ca 200 bäume zufällig auf meinem terrain positionieren.
die position der bäume soll aber nur innerhalb der grünen flachen sein.
siehe grafik:
user posted image
hat jemand eine idee wie man an die sache rangehen sollte ?
ich steh voll im dunkeln.

eizdealer

BeitragSa, Feb 14, 2004 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich ist das doch garnicht so schwierig!

- Du erstellst ein Array mit (TexturBreite,TexturHöhe) deiner Bodentextur
- Du liest mit WritePixelFast die Pixelfarben der Textur aus und speicherst in deinem Array eine 1, wenn die entsprechnede Farbe gelesen wurde, bzw. 0 wenn nicht. Bei JPG Texturen kannst du das allerdings nicht genau machen, da musst du dann das ganze etwas toleranter coden
- Dann gehst du in einer For / Next Schleife alle Felder durch, und bei den Feldern mit einer 1 wird dann RND ausgeführt und das Objekt mit den (umberechneten) Koordinaten gesetzt

Dürfte kein größeres Problem darstellen, auch wenn es etwas Arbeit ist.

Boris0190

BeitragSa, Feb 14, 2004 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
mh oder du erstellst erstma überall Bäume per Zufall und löschst die Bäume wieder, unter denen der Boden-Pixel nicht grün is...
If windows is the sollution, I want my problems back! -
The only way to have a friend is to be one

sidolin

BeitragSo, Feb 15, 2004 0:00
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, gibts da irgendwie n beispiel für WritePixelFast ? ich hab keinen schimmer wie ich anfangen soll. Sad
oder gibts noch ne andere lösung ?

D2006

Administrator

BeitragSo, Feb 15, 2004 0:34
Antworten mit Zitat
Benutzer-Profile anzeigen
eigentlich mag ich es nicht, wenn wortlos auf BlitzBase verwiesen wird, aber da ist ReadPixelFast wirklich gut beschrieben.

http://www.blitzbase.de/befehl...elfast.htm

Achtung!
Wenn du zum Beispiel ein 100 x 100 Pixel Bild (od. Textur) einlesen willst, musst du bei (0;0) anfangen und bei (99;99) aufhören. Sonst gibt es fehlerhafte Daten.

MfG

Mr.Keks

BeitragSo, Feb 15, 2004 9:48
Antworten mit Zitat
Benutzer-Profile anzeigen
eizdealer hat Folgendes geschrieben:
Dürfte kein größeres Problem darstellen, auch wenn es etwas Arbeit ist.
Erm, warum den umweg über das Array gehen?! einfach if readpixel(..)=irgendwas then settree()... wo ist das problem?
MrKeks.net

PhOENiX

BeitragMi, Aug 18, 2004 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal ein problem ich hab das versucht umzustetzen mit den Bäumen
aber hab ein problem mit dem code
Code: [AUSKLAPPEN]

If ReadPixel(textur),78,99,30
  Then
settree(tree)
EndIf


Was is daran flash also ??

MFG PhOENiX
 

Affje

BeitragMi, Aug 18, 2004 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
na ich will doch mal schwer hoffen, dass du überhaupt ne settree(tree) - funktion hast oO *g*

achja, genau bei dem gleichen problem bin ich schier verzweifelt, bis ich mir dann terraed gekauft hab...
www.drachengarde.tk
Guckst da Hier

sidolin

BeitragMi, Aug 18, 2004 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hatte mir damals einen 2d editor gebastelt und die bäume per hand gepflanzt Very Happy

..:: P4 1500 MHZ : 512 MB RDRAM : GFORCE 4 ::..

PhOENiX

BeitragMi, Aug 18, 2004 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm mal schauen wollt ich auch mal machen ein 2d hast du dann bb+ genaommen oder mit bb2d ??
@affje ich weiß nicht als was ich die maps bei teraed exportieren muss weil .ted kann ich bei bb3d nicht nehmen

MFG PhOENiX
 

Affje

BeitragMi, Aug 18, 2004 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ja eben, und bei der fullversion ist der loader dabei, da kannste dann die *.ted files laden.
www.drachengarde.tk
Guckst da Hier

ViciouS

BeitragMi, Aug 18, 2004 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
@Phoenix

Code: [AUSKLAPPEN]
if Readpixel = was????

sonst testeste doch nur, ob das pixel ausgelesen werden kann...


Code: [AUSKLAPPEN]
rgb = readpixel(x,y,imagebuffer(bild))
g=(rgb AND $FF00)/$100
if g > 200 then settree()
Skaten ist scheisse...
Bilanz: 3 Knochenbrüche in 4 Jahren...
und es werden mehr Laughing

Markus2

BeitragDo, Aug 19, 2004 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn das mit den Grünwerten nicht hin haut dann
kannste ja noch ne sw/ws Karte machen in CorelDraw oder so .

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group