[Blitz3D] MoveEntity 'Bewegt falsch' ['Gelöst']
Übersicht

![]() |
CykidBetreff: [Blitz3D] MoveEntity 'Bewegt falsch' ['Gelöst'] |
![]() Antworten mit Zitat ![]() |
---|---|---|
//Lösung am Ende
Hallo Community ![]() Ich habe grade einen sehr blöden Fehler und sehe das Problem einfach nicht. Ich möchte meinen Cube "Player" mit den Pfeiltasten 'Hoch' und 'Runter' bewegen, sprich den Cube auf der Y-Achse verschieben. Das passiert auch, allerdings beweg sich der Cube scheinbar auch auf der Z-Achse. Vlt. sehe ich gerade den Wald vor lauter Bäumen nicht.. vlt. könnt ihr mir ja helfen. Die Hauptschleife (main.bb) BlitzBasic: [AUSKLAPPEN] AppTitle "3d World" Die player.bb BlitzBasic: [AUSKLAPPEN] Global player_X = 2 Das dürfte alles an relevanten Code sein. Vielen dank ![]() Edit: Ich habe die Lösung gefunden, und wie erwartet war es ein sehr peinlicher Fehler ![]() Aber für Neulinge mit ähnlichen Problemen: MoveEntity bewegt ein Objekt relativ. Das Bedeutet es bewegt das Objekt nicht auf eine Position wie es PositionEntity macht, sondern bewegt das Objekt tatsächlich um die gewichtigkeit des bestimmenden Parameters. Da ich die Koords immer wieder übergeben habe, wurde das Objekt auch um diese Werte bewegt. Dadruch die Verschiebung. Lösungscode: BlitzBasic: [AUSKLAPPEN] Global player_X = 2 |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht ganz. MoveEntity bewegt das Objekt von seiner aktuellen Position in Richtung seiner momentanen Rotation. Drehst du das Objekt also um 90° nach rechts und sagst ihm dann mit MoveEntity er soll sich nach vorne bewegen, dann wird er sich von sich aus nach vorne, also nach rechts in Weltsicht, bewegen.
TranslateEntity bewegt das Objekt von seiner aktuellen Position ohne seine momentane Rotation zu berücksichtigen. Der nach rechts gedrehte Würfen würde somit seine Orientierung ignorieren und sich in Weltsicht nach vorne bewegen. PositionEntity bewegt das Objekt von dem Welt-Ursprung (0,0,0) an die gegebene Position und ignoriert dabei die Rotation. Das heißt, PositionEntity(1,2,3) setzt das Objekt genau an die Position (1,2,3). |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Cykid |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen dank für die Ergänzung!
Der 3D Bereich ist am Anfang doch recht Verwirrend und erfordert mehr Denksport als zunächst angenommen. Aber alles, eins nach dem anderen ![]() |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jup, 3D erfordert einiges an umdenken. Ist prinzipiell nicht schwerer als 2D, nur anders. | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group