Hello,
When i press left mouse button, program draws a circle in left upper corner. After this sprite fills with only 1 colour forever. (
see attached images - can't attach images)
Before:
http://puu.sh/1yeveAfter:
http://puu.sh/1yew4In the second scenario where I have box2 and/or box3, When i press left mouse button, sprite behaves same as in first but if I release mouse button, sprite draws it's texture properly again
Simplified code as much as I can
#include <SFML\Graphics.hpp>
#include <SFML\Window.hpp>
#include <SFML\System.hpp>
#include <iostream>
#include <vector>
int main()
{
std::vector<sf::Drawable*> drawables;
sf::RenderWindow App(sf::VideoMode(800, 600), "cWar");
// setup mouse
sf::CircleShape mouse(5); // 5 is radius
mouse.setFillColor(sf::Color::Cyan);
// green rectangle
sf::Vector2f shapeSize(500, 10); // Width, Height
sf::RectangleShape *shape = new sf::RectangleShape(shapeSize);
shape->setFillColor(sf::Color::Green);
shape->setPosition(50, 500);
drawables.push_back(shape); // IF WE COMMENT THIS, PROBLEM IS "SOLVED"
// box
sf::Texture tex1;
tex1.loadFromFile("sprite.png");
sf::Sprite* spr1 = new sf::Sprite(tex1);
spr1->setPosition(50, 50);
// box2
sf::Texture tex2;
tex2.loadFromFile("sprite2.png");
sf::Sprite* spr2 = new sf::Sprite(tex2);
spr2->setPosition(300, 50);
// box3
sf::Texture tex3;
tex3.loadFromFile("sprite.png");
sf::Sprite* spr3 = new sf::Sprite(tex1);
spr3->setPosition(200, 200);
drawables.push_back(spr1);
//drawables.push_back(spr2); // if we uncomment these, first sprite gets back it's texture
//drawables.push_back(spr3);
// main loop
sf::Event Event;
bool isRunning = true;
while(isRunning)
{
while (App.pollEvent(Event))
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
isRunning = false;
App.clear(sf::Color::White);
for (size_t i = 0; i < drawables.size(); ++i)
App.draw((*drawables[i]));
/*
* If we simplify loop to these 2 draw calls it is still same
App.draw(*spr1);
App.draw(*shape);
*/
if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
App.draw(mouse); // this line breaks first sprite
App.display();
}
return 0;
}
This problem only refers to first sprite. spr2 and spr3 don't lost it's texture
If i remove drawing circle or rectangle or both, problem seems to be fixed
When i tested program on my laptop, it worked fine.
Laptop: Win7 64bit, AMD Radeon HD6370M
Computer: Win7 64bit, AMD Radeon HD 7770
I used SFML downloaded today from Github (so the most recent version)