void init(){ _backgroundImage.LoadFromFile("assets/wood-puzzle-floor.png"); _backgroundSprite.SetImage(_backgroundImage); _robotImage.LoadFromFile("assets/roomba.png"); _robotSprite.SetImage(_robotImage); _robotSprite.SetCenter(_robotSprite.GetSize().x/2, _robotSprite.GetSize().y/2); _fakeRobotSprite.SetImage(_robotImage); _fakeRobotSprite.SetCenter(_fakeRobotSprite.GetSize().x/2, _fakeRobotSprite.GetSize().y/2); _fakeRobotSprite.SetColor(sf::Color(100,100,255)); _landmarkImage.LoadFromFile("assets/landmark.png"); _landmarkSprite.SetImage(_landmarkImage); _landmarkSprite.SetCenter(_landmarkSprite.GetSize().x/2, _landmarkSprite.GetSize().y/2); _rangeImage.LoadFromFile("assets/range.png"); _rangeSprite.SetImage(_rangeImage); original_range_sprite_size_x = _rangeSprite.GetSize().x; original_range_sprite_size_y = _rangeSprite.GetSize().y; updateRangeSpriteScale(); _rangeSprite.SetCenter((original_range_sprite_size_x/2), (original_range_sprite_size_y/2)); _window.Create(sf::VideoMode(window_width,window_height,32), "Bearing simulator"); move_amount = 0; rotation_amount = 0; time_to_capture = false; walk = 0; rotation = 0; }
int main() { img_r.LoadFromFile("..\\Imagenes\\rcircle.png"); img_b.LoadFromFile("..\\Imagenes\\bcircle.png"); sprite_b.SetImage(img_b); sprite_r.SetImage(img_r); sf::RenderWindow App(sf::VideoMode(800,600,32),"ventana"); const sf::Input& in = App.GetInput(); sprite_b.Scale(sprite_r.GetSize().x/sprite_b.GetSize().x,sprite_r.GetSize().y/sprite_b.GetSize().y); while(App.IsOpened()) { while(App.GetEvent(Event)) { if(Event.Type == sf::Event::Closed) App.Close(); if(Event.Type == sf::Event::MouseMoved){ // cursor.SetPosition(Event.MouseMove.X,Event.MouseMove.Y); } } if(in.IsKeyDown(sf::Key::Escape)) App.Close(); //cursor.SetPosition(in.GetMouseX(),in.GetMouseY()); App.Clear(); sprite_r.SetPosition(0,0); App.Draw(sprite_r); sprite_r.SetPosition(App.GetWidth()-img_r.GetWidth(),0); App.Draw(sprite_r); sprite_r.SetPosition(0,App.GetHeight()-img_r.GetHeight()); App.Draw(sprite_r); sprite_r.SetPosition(App.GetWidth()-img_r.GetWidth(),App.GetHeight()-img_r.GetHeight()); App.Draw(sprite_r); sprite_b.SetPosition((App.GetWidth()-sprite_b.GetSize().x)/2,(App.GetHeight()-sprite_b.GetSize().y)/2); App.Draw(sprite_b); App.Display(); } return 0; }
void _Log::load_image(){ if( image_loaded == false && image_path.length() != 0 ) { Sprite.SetImage( VNImageManager.get_image( image_path ) ); Sprite.SetY( WINDOW_HEIGHT - Sprite.GetSize().y ); switch( align ){ case 1: Sprite.SetX( 0.f ); break; case 2: Sprite.SetX( 100.f ); break; case 3: Sprite.SetX( WINDOW_WIDTH/2 - Sprite.GetSize().x /2 ); break; case 4: Sprite.SetX( WINDOW_WIDTH - 100.f - Sprite.GetSize().x ); break; case 5: Sprite.SetX( WINDOW_WIDTH - Sprite.GetSize().x ); break; } image_loaded = true; } }
void ImageManager::GetSpriteTiles(sf::Sprite &sprite, int tile, int modeSelection) { if(modeSelection == MAP) { sprite.SetImage(m_tilsetMap); sprite.SetSubRect(sf::IntRect(TILE_WIDTH*tile, 0, TILE_WIDTH*(tile+1), TILE_HEIGHT)); } else if(modeSelection == WORLD) { sprite.SetImage(m_tilsetWorld); sprite.SetSubRect(sf::IntRect(TILE_WIDTH*tile, 0, TILE_WIDTH*(tile+1), TILE_HEIGHT)); } else std::cerr << "erreur fonction ImageManager.GetSpriteTiles appelée avec modeSelection != MAP et modeSelection != WORLD" << std::endl; }
void ImageManager::GetSpriteEnemy(sf::Sprite &sprite, int whichEnemy) { if(whichEnemy == ENEMY1) { sprite.SetImage(m_enemy1); sprite.SetSubRect(sf::IntRect(1, 1, sprite.GetSize().x-1, sprite.GetSize().y-1));//To do avec le charset } else std::cerr << "erreur fonction ImageManager.GetSpriteEnemy appelée avec whichEnemy = " << whichEnemy << std::endl; }
void Tileset::MakeSprite(int tile_id, sf::Sprite& sprite) { assert(tile_id < COUNT); sprite.SetImage(GET_IMG("tileset")); // on calcule le subrect de la tile grâce à son id // (la tile première tile haut-gauche du tileset a l'id 0) sf::IntRect rect; rect.Left = (tile_id % WIDTH) * Tile::SIZE; rect.Right = rect.Left + Tile::SIZE; rect.Top = (tile_id / WIDTH) * Tile::SIZE; rect.Bottom = rect.Top + Tile::SIZE; sprite.SetSubRect(rect); }
int main() { img_r.LoadFromFile("..\\Imagenes\\rcircle.png"); img_b.LoadFromFile("..\\Imagenes\\bcircle.png"); sprite_b.SetImage(img_b); sprite_r[0].SetImage(img_r); sprite_r[1].SetImage(img_r); sprite_r[2].SetImage(img_r); sprite_r[3].SetImage(img_r); sf::RenderWindow App(sf::VideoMode(800,600,32),"ventana"); const sf::Input& in = App.GetInput(); sprite_b.Scale(sprite_r[0].GetSize().x/sprite_b.GetSize().x,sprite_r[0].GetSize().y/sprite_b.GetSize().y); sprite_r[0].SetPosition(0,0); sprite_r[1].SetPosition(App.GetWidth()-img_r.GetWidth(),0); sprite_r[2].SetPosition(0,App.GetHeight()-img_r.GetHeight()); sprite_r[3].SetPosition(App.GetWidth()-img_r.GetWidth(),App.GetHeight()-img_r.GetHeight()); sprite_b.SetPosition((App.GetWidth()-sprite_b.GetSize().x)/2,(App.GetHeight()-sprite_b.GetSize().y)/2); int index = -1; int pos_x,pos_y; while(App.IsOpened()) { while(App.GetEvent(Event)) { if(Event.Type == sf::Event::Closed) App.Close(); if(index == -1 && Event.Type == sf::Event::MouseButtonPressed) { int x = Event.MouseButton.X; int y = Event.MouseButton.Y; int sx,sy; int w,h; for(int i=0;i<4;i++) { sx = sprite_r[i].GetPosition().x; sy = sprite_r[i].GetPosition().y; h = sprite_r[i].GetSize().y; w = sprite_r[i].GetSize().x; if(sx < x && sx + w > x && sy < y && sy + h > y) { index = i; pos_x = x; pos_y = y; break; } } } if(index > -1 && Event.Type == sf::Event::MouseButtonReleased) { index = -1; } } if(in.IsKeyDown(sf::Key::Escape)) App.Close(); if(index > -1) { int off_x = in.GetMouseX() - pos_x; int off_y = in.GetMouseY() - pos_y; pos_x = in.GetMouseX(); pos_y = in.GetMouseY(); sprite_r[index].Move(off_x,off_y); } App.Clear(); App.Draw(sprite_r[3]); App.Draw(sprite_r[2]); App.Draw(sprite_r[1]); App.Draw(sprite_r[0]); App.Draw(sprite_b); App.Display(); } return 0; }