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

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

21

01.09.2011, 19:17

oder mach sie zum friend ;-)

22

02.09.2011, 11:13

Oder am besten: pack die Kollisionsfunktion in eine Klasse und übergib ihr als parameter die restlichen benötigten Werte.
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

23

02.09.2011, 13:43

Mit Klasse meinst du Funktion?

MfG
Check

24

03.09.2011, 11:47

Ich meine Klasse. Momentan scheint sie im allgemeinen Code zu liegen.
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

25

03.09.2011, 12:50

Wozu Klasse? Du kannst auch einfach eine Funktion nehmen.
Außerdem kann man einer Klasse keine Parameter übergeben, nur dem Konstruktor!!
In der SFML, nur nebenbei, gibt es übrigens die Intersects Funktion.

MfG
Check

ridens

Frischling

Beiträge: 47

Beruf: Freiberuflicher Entwickler

  • Private Nachricht senden

26

03.09.2011, 13:04

Eine Klasse wäre dann sinnvoll, wenn du nicht nur überprüfen willst, OB es eine Kollision gab, sondern weitere Informationen brauchst. In diesem Fall könnte man eine Klasse schreiben, die im Konstruktor die beiden zu überprüfenden Objekte bekommt. Wenn die beiden kollidiert sind, könnte sie gleich noch berechnen, welches in welche Richtung mit dem anderen kollidiert, an welchen Koordinaten die Kollision war, wie groß die Kollisionsfläche war etc. und diese Informationen dann public zugänglich machen.

27

03.09.2011, 14:21

Nein ich meine keine Kollisionsklasse. Ich meine das verlegen der Kollisionsfunktion in die Ball Klasse.
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

28

03.09.2011, 14:56

Dann solltest du das auch dazuschreiben.

MfG
Check

ridens

Frischling

Beiträge: 47

Beruf: Freiberuflicher Entwickler

  • Private Nachricht senden

29

03.09.2011, 19:12

Ach soo. Ja, das geht natürlich auch, sowas à la "ball.collidedWith(object)". Das hätte natürlich den Vorteil, dass nur halb so viel Information über den Stack muss.

Raidenkk

Treue Seele

  • »Raidenkk« ist der Autor dieses Themas

Beiträge: 151

Wohnort: Bergkamen/Oberaden

Beruf: Multimedia Informatik

  • Private Nachricht senden

30

04.09.2011, 10:45

Hey,
habe noch eine Frage.
Ich wollte gerade ein kleines Hauptmenü machen das ein bestimmten Reiter selektiert.
Doch wenn ich Hoch || Runter drücke bleibt alles so wie vorher?
Doch eigentlich soll bei betätigen eines Hoch oder Runter Button die Schrift des selektierten Textes gelb statt weis werden.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Gui
// Aufgabe: Grafische Oberflächen
void Gui (sf::RenderWindow &App , int &Menu, int *Eingabe)
{
    // Menü Grafiken
    switch (Menu)
    {
        // Hauptmenu
        case 1:
        {
            // MyFont Font laden
            sf::Font MyFont;

            const sf::Input& Input = App.GetInput ();
            bool UpKeyDown = Input.IsKeyDown (sf::Key::Up);
            bool DownKeyDown = Input.IsKeyDown (sf::Key::Down);

            // Steuerung
            // Hoch
            if (UpKeyDown == true && *Eingabe > 0)
            {
                Eingabe -= 1;
            }

            // Runter
            if (DownKeyDown == true && *Eingabe < 2)
            {
                Eingabe += 1;
            }

            // Titel
            sf::String STR_Titel("Retro Pong", sf::Font::GetDefaultFont(), 50.f);
            STR_Titel.SetColor(sf::Color::Blue);
            STR_Titel.SetPosition(260.f, 120.f);

            // Eingaben
            switch (*Eingabe)
            {
                // Spiel Starten
                case 1:
                {
                    sf::String STR_SpielStarten("Spiel Starten", sf::Font::GetDefaultFont(), 30.f);
                    STR_SpielStarten.SetColor(sf::Color::Yellow);
                    STR_SpielStarten.SetPosition(300.f, 200.f);
                    sf::String STR_SpielBeenden("Spiel Beenden", sf::Font::GetDefaultFont(), 30.f);
                    STR_SpielBeenden.SetColor(sf::Color::White);
                    STR_SpielBeenden.SetPosition(290.f, 250.f);
                    App.Draw(STR_SpielStarten);
                    App.Draw(STR_SpielBeenden);
                } break;

                // Spiel Beenden
                case 2:
                {
                    sf::String STR_SpielStarten("Spiel Starten", sf::Font::GetDefaultFont(), 30.f);
                    STR_SpielStarten.SetColor(sf::Color::White);
                    STR_SpielStarten.SetPosition(300.f, 200.f);
                    sf::String STR_SpielBeenden("Spiel Beenden", sf::Font::GetDefaultFont(), 30.f);
                    STR_SpielBeenden.SetColor(sf::Color::Yellow);
                    STR_SpielBeenden.SetPosition(290.f, 250.f);
                    App.Draw(STR_SpielStarten);
                    App.Draw(STR_SpielBeenden);
                } break;

            }

            // Zeichnen
            App.Draw(STR_Titel);

        } break;
    }

   
}

Werbeanzeige