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

Volker_Neff

Treue Seele

  • »Volker_Neff« ist der Autor dieses Themas

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

11

04.03.2013, 22:17

Ich habe nocheinmal eine Frage zum gleichem Projekt:
Ich möchte eine Kolisionsabfrage schreiben zwischen zwei Objekten, doch es kommt immer die Fehlermeldung

C-/C++-Quelltext

1
Die nicht initialisierte lokale Variable "Fred" wurde verwendet.

Ich verstehen ur nicht warum:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Fred Fred;
    if (Fred.FredAnsichtY == FREDUP)
    {
        if (Fred.FredAnsichtX == FREDRIGHT)
        {
            if (Fred.FredX + 53 && Fred.FredY < (Level_1_Objekt_1_X && Level_1_Objekt_1_Y < Level_1_Objekt_1_Y + Level_1_Objekt_1_H && Level_1_Objekt_1_Y > Level_1_Objekt_1_Y + Level_1_Objekt_1_H) &&
                Fred.FredX + 53 && Fred.FredY + 76 > (Level_1_Objekt_1_X && Level_1_Objekt_1_Y < Level_1_Objekt_1_Y + Level_1_Objekt_1_H && Level_1_Objekt_1_Y > Level_1_Objekt_1_Y + Level_1_Objekt_1_H))
                Kolision = true;
            if (Fred.FredX + 53 && Fred.FredY < (Level_1_Objekt_2_X && Level_1_Objekt_2_Y < Level_1_Objekt_2_Y + Level_1_Objekt_2_H && Level_1_Objekt_2_Y > Level_1_Objekt_2_Y + Level_1_Objekt_2_H) &&
                Fred.FredX + 53 && Fred.FredY + 76 > (Level_1_Objekt_2_X && Level_1_Objekt_2_Y < Level_1_Objekt_2_Y + Level_1_Objekt_2_H && Level_1_Objekt_2_Y > Level_1_Objekt_2_Y + Level_1_Objekt_2_H))
                Kolision = true;
            if (Fred.FredX + 53 && Fred.FredY < (Level_1_Objekt_3_X && Level_1_Objekt_3_Y < Level_1_Objekt_3_Y + Level_1_Objekt_3_H && Level_1_Objekt_3_Y > Level_1_Objekt_3_Y + Level_1_Objekt_3_H) &&
                Fred.FredX + 53 && Fred.FredY + 76 > (Level_1_Objekt_3_X && Level_1_Objekt_3_Y < Level_1_Objekt_3_Y + Level_1_Objekt_3_H && Level_1_Objekt_3_Y > Level_1_Objekt_3_Y + Level_1_Objekt_3_H))
                Kolision = true;
            if (Fred.FredX + 53 && Fred.FredY < (Level_1_Objekt_4_X && Level_1_Objekt_4_Y < Level_1_Objekt_4_Y + Level_1_Objekt_4_H && Level_1_Objekt_4_Y > Level_1_Objekt_4_Y + Level_1_Objekt_4_H) &&
                Fred.FredX + 53 && Fred.FredY + 76 > (Level_1_Objekt_4_X && Level_1_Objekt_4_Y < Level_1_Objekt_4_Y + Level_1_Objekt_4_H && Level_1_Objekt_4_Y > Level_1_Objekt_4_Y + Level_1_Objekt_4_H))
                Kolision = true;
        }

kann mir jemand helfen???

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

12

04.03.2013, 22:36

Wenn Leute Fehlermeldungen nicht lesen können...
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

13

05.03.2013, 02:04

Gewöhne dir bitte an Objekte und Variablen nie wie Klassen zu benennen.

C-/C++-Quelltext

1
2
3
4
// nicht
Fred Fred;
// sondern
Fred fred;

Nur mal als Beispiel.
„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.“

LukasBanana

Alter Hase

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

14

05.03.2013, 11:37

C-/C++-Quelltext

1
2
3
/* ... */
void LöschenFred ();
/* ... */

Mal ganz blöd gefragt: welcher C++ Compiler erlaubt Umlaute? 8|
Ich finde das in Java schon so befremdlich, dass da in Variablen- und Klassen Namen sogar der gesamte Unicode erlaubt ist.

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

15

05.03.2013, 12:19

Alle C++-Compiler nach 2005, würde ich behaupten.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Volker_Neff

Treue Seele

  • »Volker_Neff« ist der Autor dieses Themas

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

16

05.03.2013, 17:15

Ich habe meine Objekte jetzt umbenat aber dadurch nicht den Fehler behobenkann mir jemand noch einmal probieren zu erklären wo und wie ich ihn behben kann?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

05.03.2013, 18:37

Den Fehler behebst du, indem du deinen Fred initialisierst. Schau mal was du da machst:

C-/C++-Quelltext

1
2
Fred Fred;
    if (Fred.FredAnsichtY == FREDUP)

In der zweiten Zeile schaust du den Wert von Fred.FredAnsichtY an, der an dieser Stelle aber undefiniert ist, da du ihm noch keinen Wert zugewiesen hast...

Volker_Neff

Treue Seele

  • »Volker_Neff« ist der Autor dieses Themas

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

18

05.03.2013, 22:50

Entschuldigt das hätte ich dzu schreiben müssen in der main gebe ich den Variablen einen wert

C-/C++-Quelltext

1
2
//... Fred.FredAnsichtX = FREDRIGHT;
Fred.FredAnsichtY = FREDDOWN; //...
.

Deswegen verstehe ich auch nicht warum er alarm schlägt.

Danke schon einmal für eure Hilfe

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

19

05.03.2013, 22:56

Ändern, nicht "endern".


schade, dass es hier keinen like Button gibt. ^^

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

20

05.03.2013, 22:58

Und das ist das gleiche Fred Objekt? Denn so wie's da oben steht deklarierst du direkt vor dem if ein eigenes Fred Objekt und das is natürlich uninitialisiert...

Werbeanzeige