Mehrfaches positionieren von Objekten?
Übersicht

![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber genau das verstehe ich nicht. Kanns mir jemand vielleicht erklären? Vorallem check ich nicht wie ein bestimmtes Objekt einer Zahl im Dim![]() ![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] dim hallo(9)
hallo(0)=25 hallo(1)=3 print hallo(0) zuordnung geht wie mit normalen variablen eg |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und mir fällt es wie Schuppen von den Augen. Danke ![]() ![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe ein neues Problem. Immer wenn ich es mit Data![]() Code: [AUSKLAPPEN] AppTitle"Data Test"
Graphics3D 1280,720,32,2 SetBuffer BackBuffer() .leveldaten Data 0,0,0,1,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,1,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0 Data 0,1,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0 Dim level(9,9) Restore leveldaten For x = 0 To 9 For y = 0 To 9 Read level(x,y) If level(x,y)=0 flo=LoadMesh("Floor.3ds") EntityColor flo,255,0,0 ElseIf level(x,y)=1 flo2=LoadMesh("Floor.3ds") EntityColor flo2,0,0,255 EndIf Next Next camera=CreateCamera() light=CreateLight() CameraRange camera,1,10000 PositionEntity camera,0,20,0 RotateEntity camera,90,0,0 PositionEntity light,0,0,0 Repeat Cls UpdateWorld() RenderWorld() Flip Forever Woran kann das liegen? ![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Daran, dass alle Entities an der exakt gleichen Position liegen. | ||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du willst ja mehrere Objekte. In den DATAs sind auch mehrere zu sehen. Aber du gibst allen neuen Objekten den immer gleichen Namen FLO2
BlitzBasic: [AUSKLAPPEN] flo2=LoadMesh("Floor.3ds") Dadurch wird das neue Mesh zwar geladen und steht auch später in der Welt herum. Aber es übrschreibt die Variable, die Dir den Zugriff auf das vorherige ermöglichte. Jedes MESH sollte zunächst einen eigenen Namen erhalten. Die billiste Lösung wäre BlitzBasic: [AUSKLAPPEN] Dim FLO[99] Damit hast du 99 "Namensmöglichkeiten von FLO[1] bis FLO[99] BlitzBasic: [AUSKLAPPEN] Flo[1] = LoadMesh("Floor.3ds") So kannst Du dann auch jeden MESH einzeln ansprechen BlitzBasic: [AUSKLAPPEN] MoveEntity Flo(5), Rand(1,800), Rand(1,600) oder wie in Deinem Data-Grid BlitzBasic: [AUSKLAPPEN] MoveEntity Flo(5), I*10, J*10 |
||
- Zuletzt bearbeitet von Midimaster am Do, Jan 07, 2010 22:48, insgesamt 2-mal bearbeitet
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie ändere ich das? Wenn ich allen Objekten in der For![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wär's mit
BlitzBasic: [AUSKLAPPEN] PositionEntity flo, x, 0, -y =) |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
@abenteurer036
ich hab grad noch was an meinen letzten post ergänzt... vielleicht kannst du noch mal hochschauen? Und gleich noch eine grundsätzliche Änderung. Der "Mesh" muss an sich nur 1x geladen werden. Du kannst von ihm dan soviele Kopien herstellen, wie du willst. GrundMesh=LoadMesh("...") Flo[1]=CopyEntity(GrundMesh) Das bedeutet weniger Rechenarbeit und weniger Speicherbedarf für die Grafkkarte, weniger Ladezeit beim Starten |
||
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Data-Grid ist genau wonach ich gesucht habe denn ich will ja mit
Data ![]() Code: [AUSKLAPPEN] MoveEntity Flo(5), I*10, J*10
dann liegen ja trotzdem alle aufeinander. |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also,.....
Wenn Du die Meshes nur beim Start einmal änderst und später im Spiel keine Änderungen mit ihnen mehr vorhast, dann kannst du schreiben: BlitzBasic: [AUSKLAPPEN] For x = 0 To 9 also ohne die Indexe bei Flo! Wenn Du aber die einzeln Meshes später eventuell bewegen, färben oder löschen möchtest, dann ist diese Lösung besser: BlitzBasic: [AUSKLAPPEN] Dim Flo[10,10] |
||
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok Danke Midimaster jetzt funktioniert es ![]() ![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
schnell berichtigen bevor da einer drauf reinfällt:
Zitat: Aber du gibst allen neuen Objekten den immer gleichen Namen FLO2 [...]
Dadurch wird das neue Mesh zwar geladen, aber das vorherige dabei auch gleich wieder zerstört das ist so nicht richtig. Das alte Mesh existiert weiter. Es könnte weiterhin bei Kollisionen, Picks etc auch wieder mit einer Variablen erfasst werden. Nur im Moment kann man, da man den alten Wert der Variable weggeworfen hat nichts damit anfangen, es also auch nicht drehen oder positionieren oder ohne ein ClearWorld auch nicht löschen. |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
@silver_knee
danke, ich habs gleich anders formuliert. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group