Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

1

09.10.2011, 23:43

Falsche Rechnung!?

Hallo
Frage ich rechne mit Folgendem Code einen Alphawert aus:

C-/C++-Quelltext

1
m_fFadeValue -= 0.6f * fTimePassed;

Und mit Folgendem auch:

C-/C++-Quelltext

1
m_fFadeValue += 0.6f * fTimePassed;

Der mit dem Plus funktioniert es wird alles schön eingefadet. Alerdings der Minus Code nicht einfach von 100 auf 0 warum? Sind doch die Gleichen Werte!
Danke

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

09.10.2011, 23:47

Die Rechnungen sind ja äquivalent. Hat es vielleicht was mit fTimePassed zu tun? Dauert ein Frame beim oberen Frame vielleicht aus irgendeinem Grund sehr lange? Vielleicht irgendwelche extrem aufwändigen Berechnungen?
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

3

09.10.2011, 23:56

Ich habe ein if wenn bei der Plus rechnung der Wert 1.0 überschreitet Sleep(2000); . Das könnte das Problem sein :D
Und wie löse ich das? Denn dasn sind Bilder die eingefadet werden und wenn sie voll das sind 2 sek warten und ausfaden.
Danke

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

10.10.2011, 00:18

Diese Antwort kann gelöscht werden.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

5

10.10.2011, 00:21

Du kannst auch ohne Sleep faden. Du hast doch eine Variable mit der Zeit. Merk dir diese Zeit und gucke so wann die 2 Sekunden um sind. So lange machst du halt nichts. und wenn die 2 Sekunden um sind gehts weiter.

edit:
Mal dir die Situation einfach mal auf. Du hast 3 Zustände:
1 Fade in.
2 Warten.
3 Fade out.

Ich bin ein ziemlicher Freund des State-Patterns. Damit würde ich es umsetzen. Kann man aber natürlich auch anders lösen.
Aber hierbei würde der State für Fade In halt die obere Berechnung ausführen, der State Warten würde an sich nichts machen und der State Fade Out macht dann die andere Berechnung zum ausführen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige