palmen nicht über terrain [geklärt!]

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Jannik

Betreff: palmen nicht über terrain [geklärt!]

BeitragDi, Feb 17, 2009 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

PositionEntity palm1, ReadInt (koords), TerrainY(terrain, EntityX(palm1), EntityY(palm1), EntityZ(palm1))+300,ReadInt (koords)
PositionEntity palm2, ReadInt (koords), TerrainY(terrain, EntityX(palm2), EntityY(palm2), EntityZ(palm2))+300,ReadInt (koords)
PositionEntity palm3, ReadInt (koords), TerrainY(terrain, EntityX(palm3), EntityY(palm3), EntityZ(palm3))+300,ReadInt (koords)
PositionEntity palm4, ReadInt (koords), TerrainY(terrain, EntityX(palm4), EntityY(palm4), EntityZ(palm4))+300,ReadInt (koords)
PositionEntity palm5, ReadInt (koords), TerrainY(terrain, EntityX(palm5), EntityY(palm5), EntityZ(palm5))+300,ReadInt (koords)
PositionEntity palm6, ReadInt (koords), TerrainY(terrain, EntityX(palm6), EntityY(palm6), EntityZ(palm6))+300,ReadInt (koords)
PositionEntity palm7, ReadInt (koords), TerrainY(terrain, EntityX(palm7), EntityY(palm7), EntityZ(palm7))+300,ReadInt (koords)
PositionEntity palm9, ReadInt (koords), TerrainY(terrain, EntityX(palm8), EntityY(palm8), EntityZ(palm8))+300,ReadInt (koords)


die x- und z-koordinaten sind in der datei gespeichert (koords).

nun will ich dass sie halt immer 300 einheiten überm terrain platziert sind, sie sind aber immer auf der gleichen Höhe, wie es aussieht.

was ist falsch an dem Code?
  • Zuletzt bearbeitet von Jannik am Di, Feb 17, 2009 22:49, insgesamt einmal bearbeitet

ZaP

BeitragDi, Feb 17, 2009 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityX und EntityZ liefern die X- und Z-Koordinate eines Entitys, jedoch erst, nachdem es auch wirklich positioniert wurde. Du versuchst da die Palme zu positionieren, jedoch auch gleichzeitig ihre Position zu erfassen. Das ganze lässt sich über Arrays viel einfacher, übersichtlicher und effektiver lösen:

Code: [AUSKLAPPEN]

Dim Palme(7)
Dim PalmeX#(7)
Dim PalmeY#(7)
Dim PalmeZ#(7)
local i, palmemesh

palmemesh = loadmesh(...)

for i = 0 to 7
  Palme(i) = copymesh(palmemesh)

  PalmeX#(i) = ReadInt(koords)
  PalmeZ#(i) = ReadInt(koords)

  PalmeY#(i) = TerrainY(terrain, PalmeX#(i), 0, PalmeZ#(i))

  positionentity Palme(i), PalmeX#(i), PalmeY#(i), PalmeZ#(i)
next


So, und jetzt kann ich keine Palmen mehr riechen...
Starfare: Worklog, Website (download)
  • Zuletzt bearbeitet von ZaP am Di, Feb 17, 2009 21:27, insgesamt einmal bearbeitet

Holzchopf

Meisterpacker

BeitragDi, Feb 17, 2009 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du ein Objekt erstellst oder lädst, ist es zuerst immer an Position 0,0,0 - bei Code: [AUSKLAPPEN]
PositionEntity palm1, ReadInt (koords), TerrainY(terrain, EntityX(palm1), EntityY(palm1), EntityZ(palm1))+300,ReadInt (koords)
fragst du folgedessen mit TerrainY( ... , "Position der Palme" ) die Terrainhöhe an Position 0,0,0 ab.
Du musst also bei TerrainY einfach die richtigen Werte für X und Z angeben.

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

Jannik

BeitragDi, Feb 17, 2009 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
oh mann, bei palme(i) kommt bei mir "function not found"
Evil or Very Mad Sad

Mr.Hyde

Newsposter

BeitragDi, Feb 17, 2009 21:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du sie wie ZaP es vorführt als Dim Palme(7) definiert? (wie die anderen auch)
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
 

Jannik

BeitragDi, Feb 17, 2009 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
jap... hab allerdings 24 Palmen

Jo0oker

BeitragDi, Feb 17, 2009 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Das stellt uns jetzt alle vor eine große aufgabe...
Statt 7 Palmen 24 zu nehmen...

Doch nach langem studieren kam ich zu folgendem ergebnis:
Code: [AUSKLAPPEN]

Dim Palme(24)
Dim PalmeX#(24)
Dim PalmeY#(24)
Dim PalmeZ#(24)


P.S.: sry wenn ich flasch lag

lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

Mr.Hyde

Newsposter

BeitragDi, Feb 17, 2009 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Deine Informationspolitik ist mehr als spärlich, wenn du Hilfe möchtest musst du auch sagen, was das Problem ist. Hellsehen kann hier leider keiner.
Wenn du 24 Palmen hast musst du natürlich die 7 durch eine 23 ersetzen. Aber das ist nicht der Grund für Function not found. Das heißt, dass das Dim Feld nicht deklariert worden ist.

EDIT: ja tust du Joker Wink Dim startet bei 0 also hast du mit Dim 24 bereits 25 Palmen Wink
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
  • Zuletzt bearbeitet von Mr.Hyde am Di, Feb 17, 2009 21:59, insgesamt einmal bearbeitet
 

Jannik

BeitragDi, Feb 17, 2009 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das hab ich natürlih schon gemacht Rolling Eyes
 

Jannik

BeitragDi, Feb 17, 2009 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Dim Palmen(24)
Dim PalmenX#(24)
Dim PalmenY#(24)
Dim PalmenZ#(24)
Local a, palm

palm = LoadMesh("Models\Plants\palm.3ds")

For a = 1 To 24
  Palmen(a) = CopyMesh(palm)

  PalmenX#(a) = ReadInt(koords)
  PalmenZ#(a) = ReadInt(koords)

  PalmenY#(a) = TerrainY(terrain, PalmeX#(a), 0, PalmeZ#(a))

  PositionEntity Palm(a), PalmeX#(a), PalmeY#(a), PalmeZ#(a)
Next


das ist der code[/code]

Mr.Hyde

Newsposter

BeitragDi, Feb 17, 2009 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn mich nicht alles täuscht musst du nur das Leerzeichen zwischen Palmen und den () entfernen (bei allen natürlich)

EDIT: Doppelposts sind hier übrigens nicht gern gesehen. Dafür gibt es den Editieren-Button oben rechts am Beitrag.

EDIT2: Ich bevorzuge Jo0okers Variante, es ist doch schon zu lange her, dass ich mit B3D gearbeitet habe *schäm*
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen
  • Zuletzt bearbeitet von Mr.Hyde am Di, Feb 17, 2009 22:06, insgesamt einmal bearbeitet

Jo0oker

BeitragDi, Feb 17, 2009 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
1, warum doppelpost
und:
mal nennst du es Palmen und mal Palm:
Code: [AUSKLAPPEN]

PositionEntity Palm(a), PalmeX#(a), PalmeY#(a), PalmeZ#(a)


Edit: Sieg über Hyden

lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!
 

Jannik

BeitragDi, Feb 17, 2009 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das war alles durcheinander, hab jetzt die Leerzeichen am anfang der zeilen weggemacht, dann geht's Very Happy

Danke an alle! Auf die Sache mit dem Array hätt ich gleich mal kommen können Rolling Eyes

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group