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 - Lo-X

Pages: « Précédente 1 ... 8 9 [10]
136
Surcharger l'opérateur < de la classe juste pour définir un ordre de tri particulier, c'est la mauvaise solution. LA bonne est d'utiliser la version de std::sort qui prend un foncteur perso.

Il y a plein de choses à ce sujet sur le net, un peu de recherche devrait te montrer tout ce qu'il te faut savoir.

Ah voilà c'est ça que je cherchais.

137
Je suis pas sur d'avoir vraiment compris l'utilité d'une telle classe.

En gros c'est un tableau de pointeur sur ce que tu dois dessiner ?

138
Pourquoi tu n'utilises pas un std::vector ? Suffit de définir comment le trier en surchargeant l'opérateur < (si je dis pas de bêtises).

Vas voir : http://bakura.developpez.com/tutoriel/cpp/tri/

139
Discussions générales / Re : Re : Blog de développement - sfml
« le: Mai 01, 2012, 05:14:11 pm »
Ces tutos sont complets, bien illustés, aussi bien en codes qu'en couverture, proposent même d'aller au-delà et sont simples. En bref, c'est très intéressant. Mais pourquoi ne pas les mettre sur le wiki de la SFML ? M'autorises-tu au moins à ajouter un lien vers ton blog sur la partie "projets" et "ressources" du wiki ?

Parce que (en tout cas pour le moment) je ne pense pas que l'un de mes articles soit susceptible d'aller sur le wiki. De plus il faudrait les traduire et les retravailler avant.

Mais merci pour ton commentaire :D

140
Général / Re : Problème organisation d'un tileset
« le: Avril 30, 2012, 08:04:05 pm »
J'ai pas compris ton problème, enfin un peu via l'image, mais pas du tout par ta phrase sans ponctuation ???

De plus je ne suis pas sur que ton code nous aide beaucoup...

141
Projets SFML / Isaac - Un très simple Physics Engine
« le: Avril 29, 2012, 11:37:00 pm »
Salut,

Actuellement je développe un Game Engine réutilisable pour mon jeu de plateformes. J'avais besoin de gérer quelques éléments de physique basiques. J'ai d'abord décidé d'utiliser Box2D, mais il y avait trop de choses et ce n'était pas facile à intégrer avec mon Game Engine. Alors j'ai acheté un livre sympa pour créer un Physics engine pour la 3D, qui était très bien. Mais y'avait des choses bien compliquées ou inutiles pour la 2D. alors j'ai décidé de l'utiliser comme base ou référence por faire mes propres classes, qui seraient faciles à intégrer à mon Game Engine utilisant SFML.

Je n'ai pas réinventé la roue, c'est vraiment de la physique trèèèèèès basique, ça peut gérer :
- Implémente les corps solides e leur fixtures attachées
- Générer des forces sur les corps avec la possibilité à l'utilisateur d'ajouter ses propres forces non-triviales (déjà inclus : gravité, force de traction)
- Intègre les positions, forces, vitesses et accélérations linéaires
- Gère les collisions entre deux corps ayant des Fixtures conexes en utilisant le théorème de l'axe séparateur
- Une très très très simple gestion des rotations, vitesses/accélérations angulaires mas sans être très réaliste


Exemple de code :

// A Register of global forces to apply. Will be included in a "Physic" or "World" general class :
isaac::ForceRegistry registry;
// A gravity generator :
isaac::GravityGenerator gravity(isaac::Vector2(0.f, 150.f));

// Add a body
isaac::Body cube;
cube.setPosition(300, 320);
cube.setMass(500);
    // Fixtures
        isaac::Fixture f1;
        f1.RelativePosition = isaac::Vector2(0,0);
        f1.Shape = &cubeShape; // Just a sf::RectangleShape
cube.addFixture("base",f1); // There is a key string, I think about removing it

// Applies forces
registry.add(&cube, &gravity);

// Main loop :
sf::Clock clock;
float timestep = 0.f;
while(1)
{
     // Events...
     registry.updateForces(timestep);
     cube.intergrate(timestep);

     // Draw, using the shape or a body method to get all fixtures
}



Une courte vidéo :

http://www.dailymotion.com/video/xqh60v_isaac-simple-physics-engine_videogames


Il reste encore des bugs, des fonctions à documenter et des choses à faire, donc pour le moment je ne fournis rien de plus

142
Discussions générales / Blog de développement - sfml
« le: Avril 23, 2012, 08:06:02 pm »
Salut,

Je suis actuellement en train de me créer un framework pour la création de petits jeux vidéos avec SFML et je tiens un blog de développement en parallèle. Ce blog à pour but de mettre au clair mes idées, éventuellement d'en discuter avec les quelques personnes qui me lisent puis de les implémenter (ou pas). Le second but est d'informer voire d'apprendre aux éventuelles personnes qui passent par là comment faire faire telle ou telle chose.

J'ai écris un article sur la gestion du temps, la création de Timers ou autres horloges, donc si ça intéresse quelqu'un, suivez le lien ci dessous :

Gestion du temps avec SFML 2

blog : http://blog.monstruosor.com/

Merci à Nexus et à sa librairie Thor, j'avoue m'être inspiré de quelques parties de son module temps.

PS1 : Je sais pas si ce post à sa place ici ou dans la section wiki
PS2 : N'hésitez pas à me corriger si j'ai dis une bêtise dans l'article

143
Graphique / Re : Re : [SFML 2.0] de la 1.6 a la 2.0
« le: Avril 21, 2012, 06:47:21 pm »
je t'avais dit ^^ je viens de commencer la sfml aujourdhui =)

Ce sont des erreurs de C++ là  ;D

144
Discussions générales / Re : Re : SFML 2.0 RC
« le: Avril 19, 2012, 11:48:06 pm »
Citer
Citer

    Choisissez plutôt un projet vide (Empty project). Si vous voulez une application graphique sans console, dans les propriétés du projet onglet "Build targets", choisissez "GUI application" dans la liste déroulante au lieu de "Console application".


J'ai du relire deux fois ce passage pour le comprendre, je ne sais pas si c'est l'enchaînement de termes anglais ou le fait qu'il soit 23h15  ;D

Après avoir créé un projet de type "Empty". Dans le menu(tous en haut)
Project=>Propertie=>Build Target
Dans la combo box "Type", tu mets la valeur "Gui Application"

Comme cela, au lancement de l'application la console ne se lancera pas. Par contre il est vrai que plus de précision sur cette manipulation ne serait pas trop  ;D

Oui j'ai compris la manip (mais peut-être parce que je la connaissais déjà). J'avais juste l'impression que ce n'était pas tout à fait clair dans le tuto.

D'ailleurs vive la console :p Je la laisse jusqu'à la dernière release

145
Discussions générales / Re : SFML 2.0 RC
« le: Avril 19, 2012, 11:17:50 pm »
J'attends surtout la suite, mais je l'ai lu. Si je puis me permettre, voici quelques remarques.

Je passe pas mal de temps sur le forum du SdZ et ici, je pense que le passage précisant l'ordre des "linkage" et le passage disant d'inclure les DLL devraient être mis plus en évidence  :P

L'option "SFML project" fonctionne... avec la version 1.6 (ou c'était le cas il y a quelques mois)

Citer
Choisissez plutôt un projet vide (Empty project). Si vous voulez une application graphique sans console, dans les propriétés du projet onglet "Build targets", choisissez "GUI application" dans la liste déroulante au lieu de "Console application".

J'ai du relire deux fois ce passage pour le comprendre, je ne sais pas si c'est l'enchaînement de termes anglais ou le fait qu'il soit 23h15  ;D

Sinon y'a rien à dire ^^ J'ai hâte de lire la suite

146
Il  faut définir explicitement le constructeur de copie et l'operator= dans la classe, mais en private ou protected. Comme ça leu accès n'est plus possible : plus de copie !
edit: il faut aussi rendre le constructeur protégé.
edit2: Si tu utilises boost, une classe non-copyable est déjà définie : http://www.boost.org/doc/libs/1_41_0/boost/noncopyable.hpp

147
Je t'ai répondu la même chose sur le forum du SdZ, je pense que ton soucis c'est que la texture est supprimée à la fin de ton construteur, donc ton sprite pointe sur une texture qui n'éxiste plus.

Le meilleur moyen est de faire une classe qui gère toutes les textures (initialisation, accès, suppression à la destruction) et de toujours garder cet objet "en vie" tant que le jeu tourne et de la fournir aux classes qui ont besoin de textures

148
Fenêtrage / Re : [SFML 2] Obtenir le nombre de FPS
« le: Avril 11, 2012, 11:25:47 pm »
là tu restart la sf::Clock et tu récupère la valeur depuis le dernier restart à la ligne suivante. Ce que tu récupère c'est le temps écoulé entre les deux lignes

restart() revoie la valeur du chrono, ça revient à faire un getElapsedTime() puis un restart().

sf::Time frameTime = clock.restart();
float framerate = 1 / (frameTime.asMillisecond() * 0.001);
std::cout << framerate << std::endl;

149
Général / Re : Re : IDE à utiliser
« le: Avril 10, 2012, 10:43:30 pm »
Je possède Code::Blocks et j'ai toujours réussi à faire fonctionner SFML (1.6 comme 2.0).

Vas y étape par étape, ça fonctionne tout seul. Tu peux aussi te renseigner sur ce que sont réellement les différents types de fichiers (.a, .dll, ...) et comment fonctionne un compilateur comme GCC. Ce sera bien plus simple de savoir quoi faire dans Code::Blocks comme ça

Note: c'est pas parce que tu utilises Code::Blocks que tu dois utiliser son débuggueur, si tu en préfères un autre rien ne t'empêche de l'utiliser. Pareil pour le compilateur, mais enfin là entre appuyer sur une touche et compiler en ligne de commandes, quand c'est un projet simple, faut être fou (ou sur linux) :p

Pages: « Précédente 1 ... 8 9 [10]