Berechnung will nicht richtig
Übersicht

h3irBetreff: Berechnung will nicht richtig |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] t = speed/100
rspeed = 2*t will nicht und das will auch nicht: Code: [AUSKLAPPEN] rspeed = 2*(speed/100)
Entweder es ist 2 oder 0 und speed ist gesetzt. |
||
![]() |
darkralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist speed vielleicht 100?
Was soll denn rauskommen? Vielleicht hilfreich: https://www.blitzforum.de/help/Int https://www.blitzforum.de/help/Float |
||
Das ist kein Fehler! Das ist ein Feature. |
- Zuletzt bearbeitet von darkralf am Mi, Aug 27, 2008 21:06, insgesamt einmal bearbeitet
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst Float-Variablen (Kommazahlen) statt Integer (Ganzzahlen) verwenden. | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
speed ist nicht 100...
t = Float(2*(speed/100)) <-- will auch nicht t# = Float(2*(speed/100)) <-- will auch nicht entweder 2.0 oder 0.0 |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
t# = (2*(speed#/100)) <-- will | ||
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
speed ist ne ganze zahl... also 90, 91 ...
also @da_poller: ist es auch nicht so richtig... das hier: Code: [AUSKLAPPEN] t# = Float(Float(2)*Float(Float(speed)/Float(100)))
sieht kacke aus und macht nun auch 1.0 xD edit: aber ich will auch 1.5 und so |
||
- Zuletzt bearbeitet von h3ir am Mi, Aug 27, 2008 21:19, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
https://www.blitzforum.de/foru...hp?t=27657 | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Xeres hat Folgendes geschrieben: https://www.blitzforum.de/foru...hp?t=27657
oben habe ich alles als float umgewandelt... also liegt es nicht da dran... |
||
![]() |
darkralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alles lesen...
Müsste klappen: t# = (2.0*(speed#/100.0)) |
||
Das ist kein Fehler! Das ist ein Feature. |
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
darkralf hat Folgendes geschrieben: Alles lesen...
Müsste klappen: t# = (2.0*(speed#/100.0)) hab doch schon alles mit float umgewandelt... Code: [AUSKLAPPEN] t# = Float(2)*(Float(speed)/Float(100))
also ist es doch eigentlich das selbe oder? |
||
![]() |
darkralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kommazahlen!
100.0 2.0 |
||
Das ist kein Fehler! Das ist ein Feature. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
100.0 = Float(100)
@h3ir: Sicher das du die richtigen Variablen berechnest & ausgibst? Ansonsten mehr Code posten. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
darkralf hat Folgendes geschrieben: Kommazahlen!
100.0 2.0 Übrigends: https://www.blitzforum.de/help/Float Float mach Integer zu Float... und deins will auch nicht: Code: [AUSKLAPPEN] speed# = 90.0
t# = (2.0*(speed#/100.0)) Edit: also: Code: [AUSKLAPPEN] speed# = 90.0
t# = (2.0*(speed#/100.0)) If speed <> 0 And direction = 1 Then MoveEntity obj, 0, 0, t# Allerdings wird schon die Variable falsch berechnet. Daher: t# ist schon bevor es in MoveEntity eingefügt wird falsch. |
||
- Zuletzt bearbeitet von h3ir am Mi, Aug 27, 2008 21:28, insgesamt einmal bearbeitet
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] speed#=75.0
t#=(speed#/100.0)*2.0 Print t# WaitKey() End wenn ich diesen code(der der formel von xerxes entspricht) ausführe bekomme ich die ausgabe 1.5 was wilslt du noch mehr? edit: sorry war von darkralf die forme.. und ps: ergebniss bei speed 90 ist 1.8 |
||
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ da_poller: merkwürdig... hab mal ne test.bb erstellt und da gehts auch | ||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und warum sagst du dann das es nciht geht? überprüf mal ob die variable auch einen gültigen wert hat .. etc.. | ||
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also speed mit float() hat den richtigen wert.
speed schon direkt "gefloatet" hat auch den richtigen wert... nur irgendwie wirds durch die rechnung total falsch... |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
die rechnung haben wir nun geprüft die passt.. schau mal ob an anderer stelle die speed nen anderen wert hat... evtl auch mit etwas code für uns das wir vllt helfen können | ||
h3ir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
speed hat nirgends einen anderen wert... das sind die unfertigen funktionen:
Code: [AUSKLAPPEN] Function calc_speed( )
If driving = False And speed# <> 0 Then If current-timer > 1000 Then speed# = speed#-10.0 reltimer = CreateTimer (1) timer = reltimer FreeTimer(reltimer) EndIf ElseIf driving = True And speed# = 0.0 Then speed# = 100.0 ElseIf driving = True And speed# <= 100.0 Then speed# = 100.0 EndIf End Function Function object_key_control( obj ) If KeyDown( W_key )=True Then reltimer = CreateTimer (1) timer = reltimer FreeTimer(reltimer) direction = 1 driving = True EndIf If KeyDown( S_key )=True Then reltimer = CreateTimer (1) timer = reltimer FreeTimer(reltimer) direction = 2 driving = True EndIf If KeyDown( A_key )=True And (KeyDown( S_key )=True Or KeyDown( W_key )=True) Then MoveEntity obj, -.5, 0, 0 If KeyDown( D_key )=True And (KeyDown( S_key )=True Or KeyDown( W_key )=True) Then MoveEntity obj, .5, 0, 0 If KeyDown( S_key )<>True And KeyDown( W_key )<>True Then direction = 1 driving = False EndIf End Function Function move_player( obj ) tsss# = (speed#/100.0)*2.0 If speed# <> 0 And direction = 1 Then MoveEntity obj, 0, 0, tsss# If speed# <> 0 And direction = 2 Then MoveEntity obj, 0, 0, -1.0*tsss# Return tsss# End Function |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist speed auch Global als Float deklariert? in move_player() ist speed# ansonsten 0.
und btw. was ist das für ne Konstruktion: Code: [AUSKLAPPEN] reltimer = CreateTimer (1)
timer = reltimer FreeTimer(reltimer) |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group