EntityX#(),EntityY#(),EntityZ#() immer 0

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

antome

!!! gesperrt !!!

Betreff: EntityX#(),EntityY#(),EntityZ#() immer 0

BeitragDo, Jan 27, 2005 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
In meinem Programm versuche ich mit EntityX#(mymesh(aktMesh))
die Koordinaten auszulesen. An jeden Platz ist es immer Null.
Ich kann das Entity verschieben, rotieren aber ich kann nicht
seine Position auslesen, an was kann das liegen ?
Die Variable in die ich es einlese ist Global auch Float.

Wenn ich das Entity anklicke kann ich seine ID lesen, auch mit
PICKEDX# () bekomme ich eine Koordinate aber nicht mit EntityX#()
auch EntityY#(),EntityZ#() sind immer Null.
Wenn ich die Kamera auslese bekomme ich einen Wert.

Auch wenn ich versuche es mit PositionEntity auf die Koordinate 0,0,0
zu setzen tut sich nichts andere Koordinaten gehen.

Jan_

Ehemaliger Admin

BeitragDo, Jan 27, 2005 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityX(Entity,1)
between angels and insects
 

antome

!!! gesperrt !!!

BeitragDo, Jan 27, 2005 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein weder mit EntityX(Entity,1) noch mit EntityX(Entity,0)

ich hab jetzt die Arrays in Blitzarrays umgewandelt, auch nichts.

Jan_

Ehemaliger Admin

BeitragDo, Jan 27, 2005 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, dann ist das Entity an 0,0,0

da kann ich auch nix dafür.
between angels and insects
 

morszeck

BeitragDo, Jan 27, 2005 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie wäre es mit Quelltext?
 

antome

!!! gesperrt !!!

BeitragDo, Jan 27, 2005 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab das Problem nun nach Stundenlanger suche, hab es durch dieses
Demoprogramm herausgefunden
Der orginal Quelltext wäre zu lang aber ich hab das Problem und auch schon im Offiziellen Blitz3D Forum gemeldet.

Folgendes Beipiel funktioniert
zwar mit PositionMesh, aber es gibt mit EntityX... keine Werte mehr aus.
Einfach mal die Kommentierung austauschen MoveEntity <> PositionMesh.

Code: [AUSKLAPPEN]
GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
cone=CREATECONE(32)
POSITIONENTITY cone,0,0,10

WHILE NOT KEYDOWN(1)
   x#=0
   y#=0
   z#=0
   IF KEYDOWN(203)=1 THEN x#=-0.1
   IF KEYDOWN(205)=1 THEN x#=0.1
   IF KEYDOWN(208)=1 THEN y#=-0.1
   IF KEYDOWN(200)=1 THEN y#=0.1
   IF KEYDOWN(44)=1 THEN z#=-0.1
   IF KEYDOWN(30)=1 THEN z#=0.1
   PositionMesh cone,x#,y#,z#
   ;MoveEntity cone,x#,y#,z#
   RENDERWORLD
   TEXT 0,0,"Benutze Cursortasten, A und Z"
   TEXT 0,20,"X Position: "+ENTITYX#(cone)
   TEXT 0,40,"Y Position: "+ENTITYY#(cone)
   TEXT 0,60,"Z Position: "+ENTITYZ#(cone)
   FLIP
WEND
END

Jan_

Ehemaliger Admin

BeitragDo, Jan 27, 2005 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
lol

Du setzt es jede Schleife auf 0!!!

X#=0
y#=0
z#=0
posentity ent,x,y,z
Code: [AUSKLAPPEN]

GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
cone=CREATECONE(32)
POSITIONENTITY cone,0,0,10

WHILE NOT KEYDOWN(1)
   ;----------------------------
   ; Haha n00b
   ;x#=0
   ;y#=0
   ;z#=0
   ;----------------------------
   IF KEYDOWN(203)=1 THEN x#=-0.1
   IF KEYDOWN(205)=1 THEN x#=0.1
   IF KEYDOWN(208)=1 THEN y#=-0.1
   IF KEYDOWN(200)=1 THEN y#=0.1
   IF KEYDOWN(44)=1 THEN z#=-0.1
   IF KEYDOWN(30)=1 THEN z#=0.1
   PositionMesh cone,x#,y#,z#
   ;MoveEntity cone,x#,y#,z#
   RENDERWORLD
   TEXT 0,0,"Benutze Cursortasten, A und Z"
   TEXT 0,20,"X Position: "+ENTITYX#(cone)
   TEXT 0,40,"Y Position: "+ENTITYY#(cone)
   TEXT 0,60,"Z Position: "+ENTITYZ#(cone)
   FLIP
WEND
END
between angels and insects
 

David

BeitragDo, Jan 27, 2005 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ist doch auch richtig... @Jan_!
Das er x, y und z auf 0 setzt... Rolling Eyes

*haha n00b*

grüße

Jan_

Ehemaliger Admin

BeitragDo, Jan 27, 2005 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja,

Genauso wie das:

Code: [AUSKLAPPEN]

m=0: if not(m) then Runtimeerror "Wieso, ist das 0?"
between angels and insects
 

antome

!!! gesperrt !!!

BeitragDo, Jan 27, 2005 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Steht das vieleicht irgendwo in der Beschreibung, nein, weder in der englischen noch in der deutschen steht es unter PositionMesh.

Im lustig machen über andere wachst ihr so richtig über euch hinaus.
Ist wie Dünger für euer EGO .

Jan_

Ehemaliger Admin

BeitragDo, Jan 27, 2005 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, ich habe mal geschaut, hsat recht, ist wirklich etwas komisch beschrieben.
Gut, da entschuldige ich mich.
Es hat den Gleichen Effekt wie Positionentity, nur das der Mittelpunkt dort Bleibt, und es Nicht relativ sondern Absoulut verschoben wird.
Nehme bitte Position entity.
Aber lasse das X#= 0 ... weg.


so müsste es klappen.
Code: [AUSKLAPPEN]

GRAPHICS3D 640,480
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
cone=CREATECONE(32)
POSITIONENTITY cone,0,0,10

WHILE NOT KEYDOWN(1)
   IF KEYDOWN(203)=1 THEN x#=-0.1
   IF KEYDOWN(205)=1 THEN x#=0.1
   IF KEYDOWN(208)=1 THEN y#=-0.1
   IF KEYDOWN(200)=1 THEN y#=0.1
   IF KEYDOWN(44)=1 THEN z#=-0.1
   IF KEYDOWN(30)=1 THEN z#=0.1
   Positionentity cone,x#,y#,z#
   ;MoveEntity cone,x#,y#,z#
   RENDERWORLD
   TEXT 0,0,"Benutze Cursortasten, A und Z"
   TEXT 0,20,"X Position: "+ENTITYX#(cone)
   TEXT 0,40,"Y Position: "+ENTITYY#(cone)
   TEXT 0,60,"Z Position: "+ENTITYZ#(cone)
   FLIP
WEND
END
between angels and insects
 

morszeck

BeitragDo, Jan 27, 2005 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Du verwendest PositionMesh anstatt PositionEntity ....

Lese mal in der OnlineHilfe nach was der Unterschied ist!

Zitat:
Die Anweisung POSITIONMESH verschiebt alle Eckpunkte eines Gitterobjekts um einen bestimmten XYZ-Abstand. Dadurch funktioniert es völlig anders als POSITIONENTITY. Bei POSITIONMESH werden die Gitterpunkte von Objektmitte verschoben. Wenn ein Objekt gedreht wird, dann hat es einen anderen Drehpunkt als vorher.


Versuche PositionMesh und danach eine RotateEntity. Dann siehst du wo der Rotationspunkt liegt....
 

David

BeitragDo, Jan 27, 2005 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

antome hat Folgendes geschrieben:

Im lustig machen über andere wachst ihr so richtig über euch hinaus.
Ist wie Dünger für euer EGO .


Ich hab mich keineswegs über dich lustig gemacht, sondern Jan_ darauf hingewiesen das dein Code keineswegs falsch war... Also bitte... Evil or Very Mad

grüße
 

lettorTrepuS

BeitragDo, Jan 27, 2005 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Jan_

Ehemaliger Admin

BeitragDo, Jan 27, 2005 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
@David
Jap, hatte erst garnicht gesehen, das dort Posmesh steht.
Sad
between angels and insects
 

antome

!!! gesperrt !!!

BeitragDo, Jan 27, 2005 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
@David
Da es nicht mein Beispiel ist sonder nur eine Kopie aus der deutschen Onlinehilfe hab ich das vorhin nicht geblickt, ich hab es nur als Beispiel
genommen und PositionMesh eingefügt.
Da mein Problem schon gelöst war habe ich es aber zur besseren Information für alle "Suchenden" eingefügt.

@morszeck
Wenn irgendwo der Hinweis stehen würde das PositionMesh nach Ausführung die Koordinaten 0,0,0 hat (und bestimmt noch ein paar andere Befehle die sich auf Mesh anstatt auf Entity beziehen), dann wäre es einfacher zu verstehen als Bei POSITIONMESH werden die Gitterpunkte von Objektmitte verschoben.
Auch im englischen Original steht es nicht direkt da.

Darum gibt es ja Foren um nachzufragen, aber wenn danach die Show abgeht traut sich ja niemand mehr zu fragen.

Jan_

Ehemaliger Admin

BeitragDo, Jan 27, 2005 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, tut mir leid, ich dachte, du nutzt Pos entity.
@Mod, bitte den Thzread etwas um die unwichtigheiten von mir und david kürzen.
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group