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