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 - flow10000

Pages: « Précédente 1 [2]
16
Général / Re : Système de gestion de résolutions
« le: Octobre 28, 2012, 01:28:46 pm »
hmmm et quand je fais sf::View(sf::FloatRect(0, 0, 1920, 1080));
ça ne définie pas de ViewPort ?

17
Général / Re : Système de gestion de résolutions
« le: Octobre 28, 2012, 10:55:16 am »
Bonjour,

J'ai essayé d'utiliser sf::view pour résoudre ce problème mais je ne dois pas les utiliser comme il faut.
Voilà mon code qui doit permettre de répondre aux problématiques que j'ai exposé plus haut :

// Récupération de la résolution de l'écran du client et on crée la fenêtre en conséquence
sf::VideoMode clientVideoMode = sf::VideoMode::getDesktopMode();

// si le format d'écran n'est pas 16:9 on doit rajouter les bandes noires
if(clientVideoMode.width / clientVideoMode.height != 16/9)
{
        // calcul de la taille de la bande noire du dessus
        float decalY = (clientVideoMode.height - (clientVideoMode.width * 9 / 16)) / 2;
        this->mainView = sf::View(sf::FloatRect(0, 0, 1920, 1080));
        // On décale la vue vers le bas
        this->mainView.move(sf::Vector2f(0, decalY));
}
else
{
        this->mainView = sf::View(sf::FloatRect(0, 0, 1920, 1080));
}

// Pour finir on crée la fenêtre et on set la vue.
globals.window.create(clientVideoMode, "Abysses v0.1", sf::Style::Fullscreen);
globals.window.setView(this->mainView);
 


Voilà le code, le problème est que ça ne fonctionne pas du tout...
Quand l'écran est en 16:9 pas de soucis, mais si on tape dans le 16:10 ou le 4:3, pas de bandes noir, l'image prend tout l'écran quand même.

18
Général / Système de gestion de résolutions
« le: Octobre 23, 2012, 08:41:20 pm »
Bonjour,
Tout d'abord j'espère exposer mon problème dans la bonne catégorie.

Voilà, j'aimerais pouvoir gérer toutes les résolutions possibles dans mon jeu, et selon ces critères :

- la proportion doit toujours être la même (ici 16:9)
- cela inclut donc de dessiner des bandes noires en haut et en bas de l'image si l'écran du PC n'est pas 16:9
- quelle que soit la résolution, l'image finale devra être toujours strictement la même et donc redimensionnée

J'ai pensé au système suivant mais il me semble quand même lourd.

Mes sprites sont destinés à des écrans 1920/1080
Si la résolution courante en est une autre, tous mes sprites seront redimensionnés et positionnés selon un ratio calculé à partir de la "différence" entre ma résolution 1920/1080 et la résolution courante.
De plus, si le format de l'écran n'est pas 16:9 il faut que je décale tous mes sprites vers le bas...
C'est quand même un sacré bordel tout ça :S


Ma question est donc la suivante : Avant de me lancer dans cette usine à gaz, existe-t'il un moyen plus simple de procéder ?

Merci à vous


Bonne soirée.


EDIT : J'espère avoir été clair, n'hésitez pas à me poser des questions si vous n'avez pas tout saisi.




19
Général / Re : Architecture d'un projet SFML
« le: Octobre 22, 2012, 06:58:46 pm »
Oulà je n'avais pas vu que le topic avait évolué à ce point.

Pour résumer, il semble que l'architecture que j'utilise est bonne.
Et j'ai besoin en effet de la RenderWindow dans mes fonctions Update() pour tout ce qui est gestion de la souris.

Merci à vous tous.

20
Général / Re : Architecture d'un projet SFML
« le: Octobre 13, 2012, 10:25:24 pm »
J'ai effectivement besoin d'acceder à la fenetre dans ma methode Update aussi.
Pour l'instant j'ai donc défini un objet global. Je suis conscient que ce n'est pas "propre" mais je trouve vraiment lourd le fait de devoir passer en cascade la fenetre dans toutes les méthodes de mes classes. Idem pour le pointeur dans les constructeurs...

Bon he bien si il n'existe pas d'autre manière de faire, tampi ^^

Merci en tout cas.
Je continuerai à suivre la discussion au cas où quelqu'un poste quelque chose de nouveau.

21
Général / Architecture d'un projet SFML
« le: Octobre 13, 2012, 07:53:13 pm »
Bonjour,

Je me pause quelques questions quand à l'architecture à adopter pour un projet SFML.

Je pensais faire une architecture telle que chacune de mes classes ayant un quelconque comportement implemente une methode Update() et Draw() et la boucle principale du jeu appellerait ces methode en cascade.

La methode Update prendrait en paramètre un entier qui serait le gameTime (en ms).
Or chacune de ces classes aurait besoin de faire des appels à l'objet sf::Window de mon programme.
J'aimerais éviter de "cascader" cet objet dans mes methode Update et Draw de mon jeu.

Quelle serait la meilleur marche à suivre dans mon cas ?


J’espère avoir été suffisamment clair, n'hésitez pas à me demander d'éventuels éclaircissements.

Merci à vous :)

Pages: « Précédente 1 [2]
anything