Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - arrakis42

Pages: [1]
1
J'ai reussi à supprimer les  vertex hors de l'écran, ca a beaucoup améliorer les performance du jeu, mais je ne vois comment faire  un array de vertex sur mes draws sachant que je suis en sfml :/

2
Bonjour,

Je débute en programmation avec la sfml et je suis en train de faire un jeu en 2d isométrique. J'affiche donc ma map en assemblant des tiles, mon personnage avance dessus en bougeant la caméra, mais le soucis c'est que sur une grosse map le jeu commence à ramer sérieusement au niveau des fps.

 Je vous consulte donc pour savoir quel est la meilleur technique à adopter et comment l'appliquer à mon code pour optimiser l'affichage des tiles, j'ai en tête de prendre la position centrale de la view et d'afficher le nombre de tiles en x et en y selon cette position.

voici un bout de code en c++ :

  sf::Vector2f positionTileUpLeft(0, 0);
  int max_tile_length = 10;
  int max_tile_width = 10;

  std::vector<sf::Sprite *>::iterator it = this->floorVect.begin();
  for (i = positionTileUpLeft.x; i < this->y_map || i < max_tile_length; i++) // je parcours tous les tiles et je set leurs valeurs en x et y
    {
      for (j = positionTileUpLeft.y; j < max_tile_width; j++)
        {
          x = (i - j) * (*it)->GetSize().x / 2;
          y = (i + j) * (*it)->GetSize().y / 2;

          (*it)->SetX(x);
          (*it)->SetY(y);                                                                                                                                  
          this->App->Draw(**it);
          ++it;
        }
    }

 

Merci d'avance pour votre aide.

Pages: [1]
anything