JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

float -> Int Chaos...

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
underberg
JLI'ler



Anmeldedatum: 11.01.2003
Beiträge: 153

Medaillen: Keine

BeitragVerfasst am: 30.05.2003, 13:00    Titel: float -> Int Chaos... Antworten mit Zitat

So also...
Ich benutze folgende ´Variablen:

Code:

#define FRAME_RATE 50
#define V_MAX 28
#define V_MAX 28
#define Faktor_B 10
#define Fallbeschl 25
#define Beschl 50

int Ship_X=100;
int Ship_Y=100;

float Ship_temp_X=100;
float Ship_temp_Y=100;

float V_Up=0;
float V_Right=0;



Und folgenden Code:
Code:

V_Right=V_Right+(Beschl/FRAME_RATE);
Ship_temp_X=Ship_temp_X+V_Right;
Ship_X=Ship_temp_X;


Klappt soweit Wunderbar...
Aber: Sobald die Framerate höher ist als die Beschleunigung bleibt Ship_X immer konstant... Wieso?
Theoretisch müsste Ship_temp_X doch immer größer werden, und so mit immer dann wenn die Einerstelle größer wird auch Ship_X...

Geht aber nicht...
Wieso?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 30.05.2003, 13:25    Titel: Antworten mit Zitat

Wenn du eine Zahl duch eine größere Zahl teilst, kommt immer etwas mit 0,x raus. Und wenn du diese floatvariable dann einer Int zuweist, dann wird daraus automatisch eine Ganzzahl gemacht.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
underberg
JLI'ler



Anmeldedatum: 11.01.2003
Beiträge: 153

Medaillen: Keine

BeitragVerfasst am: 30.05.2003, 13:31    Titel: Antworten mit Zitat

Soweit klar...
Aber...

V_Right und Ship_temp_X sind ja Floats also müsste es doch so aussehen:
Testwerte:
Beschl 1;
FRAME_RATE 4;
Ship_temp_X=100;
Ship_X=100;


nach 1 Durchgang:
VRight=0,25;
Shiptemp_X=100,25
Ship_X=100

nach 2. Durchgang:
VRight=0,5;
Shiptemp_X=100,75
Ship_X=100

nach 3 Durchgang:
VRight=0,75;
Shiptemp_X=101,5
Ship_X=101



Aber geht nicht...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 30.05.2003, 13:45    Titel: Antworten mit Zitat

Ändere das mal so:

#define Beschl 50.0f

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
underberg
JLI'ler



Anmeldedatum: 11.01.2003
Beiträge: 153

Medaillen: Keine

BeitragVerfasst am: 30.05.2003, 13:52    Titel: Antworten mit Zitat

Danke es geht!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 30.05.2003, 16:19    Titel: Antworten mit Zitat

verwende statt #define einfach const:
Code:

// #define Beschl 50.0f
// Besser so verwenden!
const float Beschl=50.0f;

Ich finde sowieso, dass wesentlich mehr Constanten als Defines verwendet werden sollten.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum