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

Pages: [1]
1
Général / Re : Crash SFML 2.3.2 - Win10 x64
« le: Avril 12, 2016, 01:37:22 pm »

2
Graphique / Re : Déplacement sprite avec animation controlée
« le: Avril 11, 2016, 10:56:13 am »
Utilise AnimatedSprite, ça t'aidera. Il y a un exemple complet qui permet de comprendre comment ça fonctionne. Il gère simplement le changement de sprite pour que cela soit fluide. Le déplacement en tant que tel, c'est à toi de l'implémenter.

Pour que le déplacement du personnage soit "fluide mais fixé sur la grille", tu peux simplement ajouter une étape intermédiaire dans ton déplacement. Plutôt que déplacer directement sur la case d'à côté, afficher ton personnage entre les deux cases. Tu dois pour cela implémenter un mécanisme qui empêche l'utilisateur de pouvoir changer de direction à ce moment précis (une fois qu'il a décidé d'aller à droite, il ne peut changer de direction avant que le personnage n'ait atteins la case de destination). C'est aussi pourquoi le déplacement doit quand même être rapide.

En résumé :
- Pour gérer l'animation en terme d'affichage, ne réinvente pas la roue et utilise AnimatedSprite qui est plutôt bien faite. Tu as juste à appeler la méthode update.
- Pour le côte physique, déplace ton personnage à mi parcours, tout en empêchant l'utilisateur de le déplacer à ce moment la.

3
Graphique / Re : Déplacement sprite avec animation controlée
« le: Avril 08, 2016, 02:56:31 pm »
En quoi faire une boucle qui troune 50 fois par seconde est trop rapide pour l'affichage ? N'as tu jamais joué à des jeux avec 60 fps ?

Montre moi la partie de ta fonction update qui permet le déplacement de ton personnage.

4
Graphique / Re : Déplacement sprite avec animation controlée
« le: Avril 08, 2016, 01:29:30 pm »
L'implémentation que je t'ai passé n'agit pas comme tu l'indiques. Le problème doit venir de ton implémentation. Comment ton jeu est il codé ? Comme tu l'as dit, il suffit de décomposer ton animation afin d'ajouter l'étape intermédiaire.

5
Graphique / Re : Déplacement sprite avec animation controlée
« le: Avril 08, 2016, 09:42:10 am »
Pour ne pas réinventer la roue :

https://github.com/SFML/SFML/wiki/Source:-AnimatedSprite

Fais tout ce dont tu as besoin, il me semble.

6
Général / Re : Physique de saut
« le: Avril 07, 2016, 04:33:58 pm »
Citer
Oui j'ai bien compris mais quand mon personnage saute il se trouve à des coordonnées x,y dans mon monde 2D et donc les positions du sauts calculées doivent être ajoutées aux positions pour que le saut soit dans la continuité du mouvement non ?

Pas avec les formules que tu utilises en tout cas. Tu utilises le temps depuis le début de ton programme. Alors en effet à t=0, ton programme va faire ce que tu demandes. Par contre si tu attends un peu avant de faire le saut, tu vas te rendre compte du problème. Il faut que tu procède par incrément de temps.

Pour la valeur de v_init, on ne peut pas deviner ce que tu veux faire.

Je suppose que tu veux faire un jeu où tu as la possibilité de sauter, si oui voici un bon début de réponse (en anglais mais c'est case obligatoire dans le developpement !) :
http://gamedev.stackexchange.com/questions/29617/how-to-make-a-character-jump

7
Général / Re : Physique de saut
« le: Avril 07, 2016, 04:22:39 pm »
La loi de newton te donne la position "absolue" (je vais me faire tapper dessus par les vrais physiciens mais tant pis !) en fonction de temps. Elle ne dépends en aucun cas de la position précédente. De cette fait, comme le dit Laurent, il suffit de positionner ton sprite aux valeurs calculées par tes formules.

8
Fenêtrage / Re : Multi fenêtres
« le: Mars 24, 2016, 05:21:45 pm »
Ce n'est pas apparemment pas possible (mais le post est ancien, donc susceptible que ça ait changé) :

http://en.sfml-dev.org/forums/index.php?topic=2354.0

Pour résoudre ton problème, tu peux créer avec QT les différentes fenêtres pour les remplir ensuite avec SFML.

9
Fenêtrage / Re : Fonction fenêtre ne fonctionne pas.
« le: Juillet 19, 2014, 01:03:09 pm »
Tu déclares ta classe Scene puis ça devient ensuite SceneOpengl ? J’avoue ne pas trop comprendre.

10
Graphique / Re : Vertex
« le: Juin 17, 2013, 01:41:39 pm »
C'est à dire que lorsque je compile je n'ai pas d'erreur à priori. Sauf que lorsque j'éxecute le programme (sous windows) j'ai le droit à un magnifique "le programme a cessé de fonctionner".  J'ai pu identifié que cela ce passais à cette ligne précise. Concernant le débugeur comment puis-je trouver l'erreur ? De quel coté chercher ? (variable nulle ou chose comme ça ?)

11
Graphique / Vertex
« le: Juin 17, 2013, 01:33:46 pm »
Bonjour !

J'ai encore un problème pour mes vertex. J'ai voulu me créer une classe représentant un niveau. Cependant je n'arrive pas à utiliser les vertex. Pour faire simple j'ai modifier ma fonction pour ceci:

m_vertices.setPrimitiveType(sf::Quads);
    m_vertices.resize(4);

    m_vertices[0].position = sf::Vector2f(0, 0);
    m_vertices[1].position = sf::Vector2f(32, 0);
    m_vertices[2].position = sf::Vector2f(32, 32);
    m_vertices[3].position = sf::Vector2f(0, 32);

    // on définit ses quatre coordonnées de texture
    m_vertices[0].texCoords = sf::Vector2f(0, 0);
    m_vertices[1].texCoords = sf::Vector2f(32, 0);
    m_vertices[2].texCoords = sf::Vector2f(32, 32);
    m_vertices[3].texCoords = sf::Vector2f(0, 32);

Une fonction qui défini juste une tile avec des coordonnées dans un texture.  Puis la fonction draw :

void Level::draw(sf::RenderTarget& target, sf::RenderStates states) const
{

    // on applique la transformation
    states.transform *= getTransform();

    // on applique la texture du tileset
    states.texture = m_tileset->getSprite().getTexture();

    // et on dessine enfin le tableau de vertex
    target.draw(m_vertices, states);
}

Sauf que mon programme cesse de fonctionner quand j'arrive à la ligne target.draw(m_vertices, states);
Je ne vois pas trop où se trouve le problème (sachant que j'ai voulu faire un cas simple), que la texture est normalement correctement chargé. Donc si vous avez des idées d'un problème qui pourrait arriver à cette ligne.

Merci

12
Général / De SFML 2.0RC à SFML 2.0
« le: Juin 10, 2013, 08:18:13 pm »
Bonjour,

je viens de passer de SFML2.0RC à SFML2.0. J'ai cependant quelque soucis. Voici ce que j'ai fais :

- Changer les dll dans le dossier de mon projet
- Modifier les chemins d'accès dans CodeBlocks
- Rebuild

Je n'ai pas d'erreur de compilation mais j'ai droit à ça :
J'ai sans doute oublié quelque chose dans la configuration. Merci

13
Graphique / Re : Vertex et Vector2f
« le: Juin 07, 2013, 12:38:58 pm »
En fait c'était juste que j'avais mis des + à la place des ,  :)
Une erreur bête quoi.

Merci à vous deux.

14
Graphique / Re : Vertex et Vector2f
« le: Juin 06, 2013, 11:21:04 pm »
En effet une étourderie. Mais bon je ne comprends pas la prochaine erreur non plus :

quad[0].texCoords = sf::Vector2i(tx * tileset->m_tileSizeX, ty * tileset->m_tileSizeY);
            quad[1].texCoords = sf::Vector2i((tx + 1) * tileset->m_tileSizeX, ty * tileset->m_tileSizeY);
            quad[2].texCoords = sf::Vector2i((tx + 1) * tileset->m_tileSizeX, (ty + 1) * tileset->m_tileSizeY);
            quad[3].texCoords = sf::Vector2i(tx * tileset->m_tileSizeX, (ty + 1) * tileset->m_tileSizeY);

erreur: no match for 'operator=' in 'quad[0].sf::Vertex::texCoords = sf::Vector2<int>((tileset->Tileset::m_tileSizeX * tx), (tileset->Tileset::m_tileSizeY * ty))

et puis dans la doc je vois vector2f ?
http://www.sfml-dev.org/documentation/2.0-fr/classsf_1_1Vertex.php


15
Graphique / Vertex et Vector2f
« le: Juin 06, 2013, 11:11:10 pm »
Bonjour,

J'ai le code suivant mais je ne comprends pas l'erreur renvoyé par le compilateur. Quelqu'un pour me corriger et m'expliquer ?
Merci


sf::Vertex quad[4];

quad[0].texCoords = sf::Vector2f(tx * tileset->m_tileSizeX + ty * tileset->m_tileSizeY);
quad[1].texCoords = sf::Vector2f((tx + 1) * tileset->m_tileSizeX + ty * tileset->m_tileSizeY);
quad[2].texCoords = sf::Vector2f((tx + 1) * tileset->m_tileSizeX + (ty + 1) * tileset->m_tileSizeY);
quad[3].texCoords = sf::Vector2f(tx * tileset->m_tileSizeX + (ty + 1) * tileset->m_tileSizeY);

Ligne 3 : erreur: no matching function for call to 'sf::Vector2<float>::Vector2(int)'

Pages: [1]