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

Pages: [1]
1
Bon, j'ai eu un énorme coup de chance et j'ai trouvé mon "problème".

C'est simplement l'utilisation d'un srand() qui provoquait cette erreur, donc ce n'est pas un problème lié à la SFML comme je le pensais (quoique je n'ai jamais eu ce problème avec une autre bibliothèque)

Enfin j'ai vu qu'il y avait une fonctionnalité dans la SFML qui générait également un nombre aléatoire, je vais donc utiliser celle-ci, ce qui devrait résoudre mon problème.

Merci et bonne journée.

2
Bonjour,

Je rencontre un léger soucis qui m'empêche purement et simplement de lancer mon programme en mode Debug (VS2013).
(J'ai mis le message d'erreur en pièce jointe)

En mode Release je ne rencontre aucun problème, c’est pourquoi jusqu'à maintenant j'ai travaillé avec ce mode uniquement.
Mais là j'arrive à un point dans mon projet ou ce dernier devient assez imposant, et ou il faut que je debugue régulièrement.


Au tout début, lorsque le projet est presque vierge (c'est-à-dire que j'affiche uniquement un carré, ou je-ne-sais-quoi), il n'y à aucun problèmes, c'est arrivé à un certain stade dans mon projet que le problème est subitement apparu, mais impossible de connaitre "l’élément déclencheur", et malheureusement je n'ai pas suffisamment d'expérience dans ce domaine pour décrypter ce message d'erreur, même avec l'aide d'internet ...


Désolé du peu d'informations que je donne, le fait est que je ne sais simplement pas quelles autres informations je pourrais donner pour aider à résoudre le problème.


A noter que le programme ne se lance pas, mais il compile en mode Debug sans problèmes.
Je travaille également sur un autre projet (toujours sur VS2013) où j'utilise SFML, et ça fonctionne parfaitement.


Hum, voilà, désolé du dérangement pour un truc qui est sans doutes tout bête,

Merci

3
Graphique / Re : Soucis de coordonnées
« le: Mars 14, 2014, 07:54:11 pm »
Merci de ta proposition, malheureusement oui, j'avais effectivement essayé ça.


A vrai dire, après des heures de recherches infructueuses, je vient de résoudre le problème.

Au moment ou je transforme les coordonnées du laser en coordonnées relative à l'écran afin de l'afficher, la conversion de la coordonnée 'y' était mal faite.

En gros, sur un écran 16/9, si je définissait un angle de 45°, en partant du centre de l’écran j'arrivait pile dans l'angle en bas a droite, ce qui était impossible vu que ce n'était pas un écran carré.

Voilà ce qui m'a permi de résoudre le problème.

Voici le calcul qui était faux si ça peut aider quelqu'un un jour:

Calcul du X (qui était correct):
coordonnees_x = ((coordonnees_x / niveau_zoom) * width) + width / 2;

Calcul du Y (sans correction):
coordonnees_y = ((coordonnees_y / niveau_zoom) * height) + height / 2;

Calcul du Y (avec correction):
coordonnees_y = ((coordonnees_y / niveau_zoom) * width) + height / 2;

Bon, je doute que ça aide quelqu'un vu que ce problème était quand même vachement ciblé, mais on ne sait jamais, merci de votre aide et bonne soirée.

4
Graphique / [Resolu] Soucis de coordonnées
« le: Mars 14, 2014, 06:45:50 pm »
Bonjour à tous,

Alors voilà, je suis en train de migrer mon projet d'allegro à la sfml, cependant je rencontre un léger soucis lors du traçage d'un trait.

En gros, le trait que je trace représente simplement un laser tiré par un vaisseau, qui se déplace donc rectilignement à partir du point de départ, et ce, selon un angle défini.

Les deux paramètres principaux de de laser sont:
-Ses coordonnées
-Son angle

Voici le bout de code permettant de tracer ce laser à l’écran:

sf::RectangleShape laser(sf::Vector2f(taille, 2));
//laser.setOrigin(test, test2);
laser.setRotation(70);
laser.setPosition(coordonnees_x, coordonnees_y);
laser.setFillColor(Color(150, 150, 150, 255));
window.draw(laser);
 

Dans cet exemple, je test pour un angle de 70 degrés, et la variable taille représente la longueur du laser, ce qui n'est pas très important dans mon problème.

Les coordonnées x et y sont calculées ailleurs, dans le bout de code suivant:
coordonnees.x_det += cos(70 / 180 * 3.14159) * temps;
coordonnees.y_det += sin(70 / 180 * 3.14159) * temps;

La variable temps représentant le temps écoulé depuis le départ du projectile afin de connaitre sa position actuelle sur la trajectoire rectiligne qu'il suit.
Ici j'ai également forcé l'angle à 70 degrés pour les besoins du test, j'aurais pu le mettre directement en radian, mais peu importe.

J'en vient donc au problème, il semble que les coordonnées calculées ne suivent pas tout à fait l'angle de 70°, j'ai pensé que cela pouvait venir du fait que l'origine du laser est celle par défaut (0,0), et que donc je devais passer par un setOrigin() avant d'appliquer les coordonnées calculées, mais cela ne change rien, quelque soient les paramètres que j'applique à setOrigin().

Je suis quasiment certain que mon calcul de coordonnées est exact, étant donné que je l'utilise également pour le déplacement des vaisseaux et il fonctionne parfaitement.

Comme je suis loin d'être clair, j'ai joins une image présentant mon problème, on y voit le même laser à quelques secondes d'intervalle, on voit bien qu'il ne se déplace pas de manière linéaire, mais "de coté".

Je suppose que le problème vient de quelque part lorsque je "set" les coordonnées du laser, soit j'oublie de faire quelque chose, soit je ne le fait pas dans le bon ordre, mais là je "sèche" quelques peu . . .

A noter qu'il n'y à aucun problème lorsque l'angle est un multiple de PI/2 (45°, 90°, 135°, 180° . . .)

Merci de votre aide !

Pages: [1]
anything