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

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

1

16.01.2011, 18:18

SFML Color Gradient + Antialising

Sehr geehrtes Forum, für mein neuestes Spiel, das ich in der SFML programmiere, habe ich einige, für mich unverständliche Probleme :

Problem 1 : Color Gradient
Ich habe nach einer Möglichkeit gegoogled, einen Farbübergang zu schaffen, dort :
http://www.sfml-dev.org/wiki/fr/sources/gradient
wurde ich fündig, und nutze den Code von dort, wenn ich jetzt eine Function schreibe, und sie ausführe, gibt es Probleme, woran könnte es liegen?

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
// sf::Image* backgroundImage;
// sf::Sprite* background;
void Game::makeBackground()
{
    backgroundImage = new sf::Image(WIDTH,HEIGHT);

    ColorScale gradient;
    gradient.insert(0.0,sf::Color::Black);
    gradient.insert(1.0,sf::Color::Blue);

    sf::Color* tab =new sf::Color[HEIGHT];
    gradient.fillTab(tab,HEIGHT);

    for(int i=0;i<WIDTH;i++)
        for(int j=0;j<HEIGHT;j++)
            backgroundImage->SetPixel(i,j,tab[j]);

    delete tab;

    for(int i = 0;i<STARS;i++)
    {
        backgroundImage->SetPixel(sf::Randomizer::Random(0,WIDTH),sf::Randomizer::Random(0,HEIGHT),sf::Color::White);
    }

    background = new sf::Sprite(*backgroundImage);
}


2.Problem : Antialising
Ich habe versucht einen Weg zu finden, mein Spiel zu antialisen, da ich Linien zeichne, und die perfekt aussehen sollen, doch leider, siehts nicht so aus, da nicht antialised wird.
Ich habe auch danach gegoogled, und man könne schon direkt beim initialieren, beim Aufruf des Konstruktors oder der Funktion Create von RenderWindow, das einstellen,

C-/C++-Quelltext

1
2
// win ist ein RenderWindow*
    win->Create(sf::VideoMode::GetDesktopMode(),"Galactica Ball",sf::Style::Fullscreen,4);

Wenn ich das so mache, gibt es eine Fehler meldung, warum?

Quellcode

1
F:\C++ Projekte\Games\Galactica Ball\main.cpp|11|error: no matching function for call to 'sf::RenderWindow::RenderWindow(sf::VideoMode, const char [15], sf::Style::<anonymous enum>, int)'|


Aber laut dieser Website sollte das gehen:
http://www.sfml-dev.org/tutorials/1.2/window-window.php
Siehe letzter Codeabschnitt von 'Opening a Window' .

was soll ich machen?

Ich weiß wirklich nicht was ich falsch mache,

danke für eure Hilfe,
m.f.G. Developer_X
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Developer_X« (16.01.2011, 19:19)


2

16.01.2011, 18:27

Zu 2:

Versuchs mal ohne das sf::VideoMode::GetDesktopMode(), also mit manueller Auflösung etc.

lg chaia

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Chaia*« (16.01.2011, 18:33)


Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

3

16.01.2011, 18:30

Geht nicht, wenn ich das mache kommt ne Fehlermeldung, ich weiß auch nicht was das soll, selbst die Entwickler der SFML sagen, man soll das so machen.
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

4

16.01.2011, 18:31

Was ist nun das Problem mit dem ersten Thema?

5

16.01.2011, 18:32

1. Fehlermeldungen?
2. Siehe hier.
Du musst WindowSettings instanziieren und dann übergeben (als 4. Parameter).

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

6

16.01.2011, 18:39

Zum ersten Problem :
Da steht das das das Programm nicht mehr funktioniert, also er hängt sich auf,

Zum zweiten Problem :
Danke dir!
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

7

16.01.2011, 18:43

Schon debuggt, wo genau es denn abschmiert, was evtl nicht stimmen könnte, etc?

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

8

16.01.2011, 19:07

Ich habs schon probiert, aber sagen wir es so, Zeile 17 wird nicht mehr aufgerufen,
Wenn man Debugt, dann geht der ja auch die schleifen durch, und ich kann ja jetzt beim besten willen net warten bis der da die schleife durchlaufen hat,

:P

Aber was könnte denn nicht stimmen?
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

DerMark

Treue Seele

Beiträge: 324

Wohnort: Emsdetten

Beruf: Softwareentwickler

  • Private Nachricht senden

9

16.01.2011, 19:08

Zeile 17 ist leer..

Developer_X

Treue Seele

  • »Developer_X« ist der Autor dieses Themas

Beiträge: 247

Wohnort: Hessen

Beruf: Schüler

  • Private Nachricht senden

10

16.01.2011, 19:18

Ja ist doch klar^^, ich meine :
Der Fehler ist irgendwo in der Schleife vor Zeile 17
- Die Zeit ist wie ein Fluss, und die Gegenwart wie ein Fels, der von dem Fluss der Zeit geschliffen wird. -
Kevin Riehl

Werbeanzeige