Gravitation & PositionEntity [GELÖST]
Übersicht

![]() |
N0XBetreff: Gravitation & PositionEntity [GELÖST] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich habe ein Problem mit meiner Gravitation. ![]() Nein, ich kann nicht fliegen, schön wärs. ![]() Aber in meinem Spiel habe ich das Problem, dass ich bei einer Bewegung aufwärts der Y-Achse meine Kamera nicht mitbewegt, abwärts aber schon. Die Kamera ist an einem Pivot angeheftet der wiederum im Programm immer auf Player-Koordinaten gehalten wird. (PositionEntity...) Warum bewegt sich meine Kamera also nicht mit aufwärts? Code: [AUSKLAPPEN] Const PLY=1,MAP=2
Global piv = CreatePivot() Global cam = CreateCamera(piv):PositionEntity cam,0,10,-50 Global player = LoadMesh("models\dwarf1.b3d"):EntityType(player,PLY) Global karte = LoadMesh("beispielMap.3ds"):EntityType(karte,MAP) Collisions PLY,MAP,2,3 While Not KeyHit(1) If Not EntityCollided(player,MAP) Then transY#=transY#*1.1 playerY# = playerY#-transY# Else transY#=0.1 EndIf move() PositionEntity player,px#,playerY#,pz# UpdateWorld() RenderWorld() Wend End Function move() PositionEntity piv,EntityX(player),EntityY(player),EntityZ(player) If KeyDown(17) Then pz# = pz#+1.0 If KeyDown(31) Then pz# = pz#-1.0 If KeyDown(32) Then px# = px#+1.0 If KeyDown(30) Then px# = px#-1.0 End Function Mfg, N0X //EDIT: So, die Reihenfolge ein wenig geändert und schon klappts. Seltsam... Naja, gelöst! Code: [AUSKLAPPEN] Const PLY=1,MAP=2
Global piv = CreatePivot() Global cam = CreateCamera(piv):PositionEntity cam,0,10,-50 Global player = LoadMesh("models\dwarf1.b3d"):EntityType(player,PLY) Global karte = LoadMesh("beispielMap.3ds"):EntityType(karte,MAP) Collisions PLY,MAP,2,3 While Not KeyHit(1) If Not EntityCollided(player,MAP) Then transY#=transY#*1.1 playerY# = playerY#-transY# Else transY#=0.1 EndIf PositionEntity piv,EntityX(player),EntityY(player),EntityZ(player) PositionEntity player,px#,playerY#,pz# move() UpdateWorld() RenderWorld() Wend End Function move() If KeyDown(17) Then pz# = pz#+1.0 If KeyDown(31) Then pz# = pz#-1.0 If KeyDown(32) Then px# = px#+1.0 If KeyDown(30) Then px# = px#-1.0 End Function |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Blitzjockey |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Auch wenn Dein Problem schon gelöst ist (und dass ist ja das Wichtigste!)
Wozu benutzt Du dann den Pivot? Wenn Du sowieso den Pivot immer auf den Position des Player steckst, reicht es auch wenn Du den Camera nach Dein "Player" initialisierst, und dabei "Player" als Parent angibst? Dann würde das ganze gleich funktionieren? Anschliessend brauchst Du Dich um den Camera gar nicht mehr zu kümmern, der hängt dann immer an Dein Zwerg dran. Es sei denn, Du möchtest den Pivot auch zum rotieren um Dein Zwerg benutzen, das geht aber aus diesem Ausschnitt nicht hervor. |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jap, das ist es, die Camera wird im "Original-Code" mit der rechten Maustaste auch um den Player gedreht. (Dazu der Pivot.)
Habe eben alles Unnötige hier weggelassen... Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group