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

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

1

19.01.2013, 18:17

Der Haltepunkt wird momentan nicht erreicht - Warum?

Hey Leute,
in letzter zeit hab ich immer wieder das Problem,
das Haltepunkte einfach nicht erreicht werden.
Mich intressiert warum das so ist den in meiner Funktion mache ich ganz
normale Sachen so wie hier z.B.:

Ich initialisiere eine Klasseninstanz:

C-/C++-Quelltext

1
test = new IntroFunction(10.f,TargetWindow);


Und benutze eine Funktion:

C-/C++-Quelltext

1
test->FadeIn();


Die Funktion selbst sieht so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool  IntroFunction::FadeIn()
{
    if(sprite->getColor().a <= 255)
    {
        float A =  255.f/seconds*frametime;
        sprite->setColor(sf::Color(255,255,255,sprite->getColor().a + A));

        return false;
    }
    else
    {
        return true;
    }
}


Kann mir da jemand sagen wie man solche Probleme
verhindern kann , bzw. woran es liegt das diese Funktion anscheinend
erst garnicht ausgeführt wird?

MfG Marcel
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »FreezingEngine« (19.01.2013, 19:43)


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

19.01.2013, 19:01

Und wo genau hast du die Haltepunkte gesetzt, die nicht erreicht werden? Du debuggest schon einen Debug Build, oder?

3

19.01.2013, 19:02

Die Funktion FadeIn die du gepostet hast, ist keine Funktion von IntroFunction. Aber du rufst ja FadeIn auf, d.h. sie ist anders deklariert als das FadeIn von IntroFunction. Deshalb wird sie nie aufgerufen.

FreezingEngine

Treue Seele

  • »FreezingEngine« ist der Autor dieses Themas

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

4

19.01.2013, 19:43

@Delop
Ist ein kleiner Fehler weil ich die Funktion bzw. meine änderungen
mit STRG-Z rückgängig gemacht hab , ich habs oben verbessert.
Es ist schon eine Funktion von IntroFunction und steht auch richtig im Projekt selbst.

@dot
Die Haltepunkte sind in der Funktion.
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

19.01.2013, 19:50

Wo GENAU in der Funktion?
Ich würde jetzt zb mal sagen, dass das else niemals eintreten wird ;)

Und dann um dots frage noch einmal zu stellen: Du debuggst auch einen Debug build?

Und: Ist das auch der aktuellste Build? Nicht das es fehler gab und er etwas altes ausführt.

FSA

Community-Fossil

  • Private Nachricht senden

6

19.01.2013, 19:57

@Sylence: Mal aus Interesse: Würde der Compiler das rausoptimieren? Weiß er, dass die Farbwerte dort nur bis 255 gehen?

Zitat

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

Tobiking

1x Rätselkönig

  • Private Nachricht senden

7

19.01.2013, 21:26

@Sylence: Mal aus Interesse: Würde der Compiler das rausoptimieren? Weiß er, dass die Farbwerte dort nur bis 255 gehen?

Er kennt den Typ der Farbwerte und weiß das dieser nur Werte bis 255 repräsentiert. Die meisten Compiler sollten das also problemlos wegoptimieren.

FSA

Community-Fossil

  • Private Nachricht senden

8

19.01.2013, 21:43

Und woher weiß er das ein int z.B. einen Farbwert repräsentiert?

Zitat

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

stef

Treue Seele

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

9

19.01.2013, 21:46

Und wo genau hast du die Haltepunkte gesetzt, die nicht erreicht werden? Du debuggest schon einen Debug Build, oder?

Dot hat hier eine wichtige Frage gestellt. Ist es ein debug build oder release?
Mit VS kann man auch release builds debuggen.
Dann kommt es aber zu so merkwürdigen Verhalten wie du sie gerade erfährst.
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

10

20.01.2013, 00:27

Und woher weiß er das ein int z.B. einen Farbwert repräsentiert?

Der Compiler weiß natürlich nicht, dass es sich um einen Farbwert handelt. In SFML wird für die Farbwerte aber ein Uint8 als Typ verwendet, dessen Wertebereich von 0 bis 255 reicht. Das weiß der Compiler. Es passt hier natürlich sehr gut, da dies genau mit dem Wertebereich für Farbwerte übereinstimmt ;)

Werbeanzeige