zu kleine Zahlen führen zu Problemen!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Tankbuster

Betreff: zu kleine Zahlen führen zu Problemen!

BeitragMo, Feb 26, 2007 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Also... hab in meinem Spiel ein Mesh eingebaut^^(eine Kanone)
Ich ermittel die Rotation mit EntityPitch usw...
Aber bei EntityRoll liefert Mein Programm einen merkwürdiegen Wert zurück! Die Rotation wird so genau angegeben, dass ich Zahlen von 0,0012312 * 10^-7(also 0,0000000012312 und kleiner bekomme.
Diese Zahl wird dann an den Client verschickt, damit der das Mesh bei sich ausrichten soll!
Da diese Zahlen in der Schreibweise mit dem e (ich hoffe, ihr wisst, was ich meine) angegeben werden, oder da sie zu klein sind, kommt es zu merkwürdigen anzeigen auf dem Client, an den ich das schicke! Das Mesh (eine Kanone) hat dann nicht mehr die richtige rotation, sondern zeigt irgendwo in die Landschaft^^

Warum sind die Zahlen so klein! bei EntityPitch z.B. werden nur (höchstens) 5 Stellen hinter dem Komma angegeben!
Falls es euch interessiert:
Das Mesh ist ein Child von einem animierten 3D modell!
Es wird durch die Ani zwar bewegt, aber dann müsste sich auch der EntityYaw-Wert so merkwürdig verhalten, weil das Modell auch nach oben wippt!^^

Ich könnte auch nur mit Ganzen Zahlen arbeiten, aber ich will trotzdem wissen, was hier nicht funzt!
Twitter
Download Jewel Snake!
Windows|Android

pixelshooter

BeitragMo, Feb 26, 2007 22:50
Antworten mit Zitat
Benutzer-Profile anzeigen
versuchen kannst du auch noch, nur die ersten 5 stellen nach dem kommer oder halt mehr oder weniger ausgeben zu lassen. aber woran das liegt weiß ich eider auch nicht.
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc

StepTiger

BeitragMo, Feb 26, 2007 23:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitz kann nur mit 32 Bit rechnen, bekommt also nicht solche kleinen Zahlen hin.
Die einzig andere Variante dafür ist, sich eine eigene Routine zu schreiben.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

BtbN

BeitragDi, Feb 27, 2007 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die Variante mit dem e als String verschickst, sollte klar sein,warum es nicht geht.

Tankbuster

BeitragDi, Feb 27, 2007 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
lol! Ich hab mal die Zahl aufgerundet, aber dann kommt logischerweise 0 raus!
Egal, wie ich das Mesh drehe,bleibt dieser wert immer auf 0!
Das dürfte ja eigentlich garnicht sein, denn das mesh wird ja gedreht, und somit wird die position auch verändert.

Aber ich hab jetzt ne neue lösung gefunden! Very Happy Ich schicke die position des Ziels! dort wird ein würfel erstellt. Dann pointe ich das Mesh auf den Würfel!
Twitter
Download Jewel Snake!
Windows|Android

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Feb 27, 2007 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du eine Float immer wieder rundest und dabei in weniger als 0.5 -Schritten veränderst, passiert auch logischer weise garnichts, da sie durch eine Rundung wieder zurück gesetzt wird...

StepTiger

BeitragDi, Feb 27, 2007 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
^^
Floats runden sind das dämlichste, was man tun kann. Da kann man auch gleich Integer nutzen.
Atan2 ist wesentlich prozessorschonender, CreatePivot ebenfalls.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group