komisch meshs drehen
Übersicht

dabigflowBetreff: komisch meshs drehen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey,
ich probier gerade ein Rennspiel und bräuchte eure Hilfe. Ich habe 2 Funktionen zur Kontrolle von 2 Meshs, Die Funktionen sind identisch bis auf die Tasten auf welche sie reagieren. Das drehen(turnentity) des ersten Meshs funktioniert ohne Probleme aber beim zweiten dreht es den Mesh wie als hätte er einen Drehpunkt das heißt wenn man links drückt dreht es nicht den mesh auf der stelle sondern bewegt es noch in die jeweilige Richtung. Wenn ich Kameras an die Funktionen übergebe funktioniert es problemlos. ich hab es schon mit 2 Types probiert und auch mit 2 einfachen variablen An den Meshs kann es auch nicht liegen. Hier die 2 Funktionen Zitat: Function object_key_control( fahrzeug )
EntityParent fahrzeug, 0 ;Trägheit fürs Vor fahren ;----------------------------------------------- If KeyDown( up_key )= True Then If (speed2# < maxspeed#) Then speed2# = speed2# + 0.01 Else flag=1 ;Später mit return EndIf MoveEntity fahrzeug, 0, 0, speed2# Else If (speed2# > 0.00) Then speed2# = speed2# - 0.01 MoveEntity fahrzeug, 0, 0, speed2# EndIf ;Trägheit fürs Zurück fahren ;---------------------------------------------- If KeyDown( down_key )=True Then If (zurueck2# > maxzuruck#) Then zurueck2# = zurueck2# - 0.01 Else flag = 2 EndIf MoveEntity fahrzeug, 0, 0, zurueck2# Else If (zurueck2# < 0.00) Then zurueck2# = zurueck2# + 0.01 MoveEntity fahrzeug, 0, 0, zurueck2# EndIf ;restliche Bewegungstasten Tasten ;---------------------------------------------- If KeyDown( left_key )Then TurnEntity fahrzeug, 0, 2, 0 If KeyDown( right_key ) = True Then TurnEntity fahrzeug, 0,-2, 0 If KeyDown( right_ctrl) =True Then Feuer(fahrzeug) End Function ; Nun die Trägheit nach vorn und Zurpck bzw die Steuerung mit den "WASD" Tasten Function object_key_control_2( obj ) EntityParent obj,0 ;Trägheit fürs Vor fahren ;----------------------------------------------- If KeyDown( W_key )= True Then If (speed# < maxspeed#) Then speed# = speed# + 0.01 Else flag=1 EndIf MoveEntity obj, 0, 0, speed# Else If (speed# > 0.00) Then speed# = speed# - 0.01 MoveEntity obj, 0, 0, speed# EndIf ;Trägheit fürs Zurück fahren ;---------------------------------------------- If KeyDown( S_key )=True Then If (zurueck# > maxzuruck#) Then zurueck# = zurueck# - 0.01 Else flag = 2 EndIf MoveEntity obj, 0, 0, zurueck# Else If (zurueck# < 0.00) Then zurueck# = zurueck# + 0.01 MoveEntity obj, 0, 0, zurueck# EndIf ;restliche Bewegunggsstasten Tasten ;---------------------------------------------- If KeyDown( A_key ) = True Then TurnEntity obj, 0, 2, 0 If KeyDown( D_key ) = True Then TurnEntity obj, 0,-2, 0 If KeyDown( Space) =True Then Feuer(obj) End Function danke schonmal für die Hilfe |
||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Natürlich liegt das an den Meshes(bzw. am 2. Mesh), dieser hat seinen Nullpunkt schlicht nicht in der Mitte.
Einfach die Meshes mal vertauscht an die Funktionen übergeben, dann wird es bei der ersten Funktion nicht klappen. Am besten ist es, das direkt im 3D-Modeller zu korrigieren. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Außerdem geb ich dir noch zwei Tipps :
1. Mach aus den Beiden eine Funktion und als Parameter welche Steuerung benutz werden soll (0=Pfeiltasten, 1=WASD) 2. Nimm lieber eine Globale Variable für das "Fahrzeug", so muss es nicht übergeben werden. mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
...und das mit der globalen Variable vergiss schnell wieder, denn eine Datentrennung ist eine sinnvolle Sache.
Bitte nutze für Code die Codetags, die werden dann nämlich zu einer schönen Box, macht das lesen leichter ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
dabigflowBetreff: mehr |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich hab es 2mal mit dem gleichen Mesh versucht dabei trat das Problem immer nur bei einem der beiden auf.
Dann dürfte es doch eigentlich nicht an den Meshs liegen oder? Ich habe es auch mal mit Code: [AUSKLAPPEN] createsphere()
versucht indem ich einfach die anstatt den fahrzeugen übergeben habe dabei enstand das gleiche Problem. Eine Kugel funktionierte normal die andere wieder mit so einem Drehpunkt |
||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann zeig doch mal den kompletten Code mit Spheres. Hast Du in Deinem Code irgendwo Mesh-Befehle drin? | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
dabigflow |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah danke also ein teilproblem war auf jedenfall
Code: [AUSKLAPPEN] PositionMesh
hab nur leider grad keine zeit mehr auszuprobieren. Ich werde später dann posten ob es auch mit den autos geklappt hat. danke |
||
dabigflowBetreff: dankeschön |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey ich hab es jetzt auch mal mit den Autos ausprobiert und es funktioniert ![]() Das erklärt auch einige komische berechnung von anderen Funktionen. danke ![]() ~closed |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group