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

11

06.09.2012, 15:46

Hahaha achso ok. Ich dachte du wüsstest noch einen konkreten Verbesserungsvorschlag :)

Ich hab das ganze mal implementiert, aber irgendwie funktioniert es nicht so ganz... Die Farben wechseln ganz abrupt und bleiben dann eine Weile. Und es sind auch nur Hell blau, dunkelblau, pink, gelb und grün... hier mein code. Hab ich was übersehen?!

C-/C++-Quelltext

1
2
3
4
5
        float r = abs(3.0 - 6.0 * hue) - 1.0;
        float g = 2.0 - abs(2.0 - 6.0 * hue);
        float b = 2.0 - abs(4.0 - 6.0 * hue);

        color = sf::Color(std::min(std::max(r, 0.f), 1.f) * 255.f, std::min(std::max(g, 0.f), 1.f) * 255.f, std::min(std::max(b, 0.f), 1.f) * 255.f);

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

06.09.2012, 15:51

Wie sieht denn dein hue aus, der sollte zwischen 0 und 1 sein...

13

06.09.2012, 15:57

Mein hue berechne ich so:

C-/C++-Quelltext

1
2
3
        hue += 0.5 * fTime;
        if(hue > 1.0)
            hue = 0.0;

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

06.09.2012, 15:57

Kanns sein, dass der einfach zu schnell läuft?

15

06.09.2012, 16:04

Gaub ich nicht... Das jede Farbe bleibt ca. 1 Sekunde da. Hier mal ein bild wie das aussieht:

(Link)

16

06.09.2012, 16:09

Hier ist mal ein minimal code:

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
#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML works!");

    sf::RenderTexture m_RenderTexture;
    sf::Sprite sprite;
    sf::Clock FrameClock;
    float fTime;

    m_RenderTexture.create(window.getSize().x, window.getSize().y);

    sf::CircleShape m_Circle(5);

    float hue = 0.0;

    sf::Color color;

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            // Close Event
            if (event.type == sf::Event::Closed)
                window.close();

            // Escape key pressed
            if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape))
                window.close();
        }

        fTime = FrameClock.restart().asSeconds();

        hue += 0.5 * fTime;
        if(hue > 1.0)
            hue = 0.0;


        float r = abs(3.0 - 6.0 * hue) - 1.0;
        float g = 2.0 - abs(2.0 - 6.0 * hue);
        float b = 2.0 - abs(4.0 - 6.0 * hue);

        color = sf::Color(std::min(std::max(r, 0.f), 1.f) * 255.f, std::min(std::max(g, 0.f), 1.f) * 255.f, std::min(std::max(b, 0.f), 1.f) * 255.f);


        m_Circle.setPosition(sf::Mouse::getPosition(window).x, sf::Mouse::getPosition(window).y);
        m_Circle.setFillColor(color);

        m_RenderTexture.draw(m_Circle);
        m_RenderTexture.display();

        window.clear();
        sprite.setTexture(m_RenderTexture.getTexture());
        window.draw(sprite);
        window.display();
    }

    return 0;
}


Ich verwende SFML 2 RC.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

06.09.2012, 16:28

Mekrwürdig, sieht bei mir eigentlich ganz gut aus:


18

06.09.2012, 16:30

haha wie jetzt? Hast du genau meinen code benutzt? Was hast du den fürn OS? Ich bin auf Windows 7 unterwegs.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

19

06.09.2012, 16:32

Ich hab einfach deinen Code von oben in eine neue, leere Konsolenanwendung gepasted und mit dem aktuellen SFML Snapshot (gerade vorhin extra heruntergeladen und gebaut) gelinked. Auch Windows 7, aber das OS hat damit sowieso sicher nix zu tun... ;)

20

06.09.2012, 17:10

nee denk ich auch nicht. aber häää?? ich hab jetzt extra nochmal ne neues Projekt gestartet und auch SFML nochmal geupdatet und neu kompiliert. Grafikkartentreiber hab ich auch schon gecheckt... das ist ja echt komisch!

Werbeanzeige