Vous procéder comment pour la livraison ? (Vous envoyer le livre par colis ?)Hum ? Le livre s'achète via les marchands habituels : Fnac, Amazon, ...
Parce que je doute fort que, vous aller l'apporter chez tout les gens qui le commande.
Est ce que la partie multijoueur à travers internet traite de la prédiction de mouvement ?Non, elle ne traite pas la prédiction, mais la correction de mouvement (les positions sont interpolées pour avoir un mouvement fluide en cas de lag).
Ce n'est pas parce que c'est un livre SFML écrit par des gens du forum qu'il est géré plus artisanalement que les autres hein ;DC'est une écriture manuscrite, et le livre est distribué par des pigeons voyageurs :D
Ce n'est pas parce que c'est un livre SFML écrit par des gens du forum qu'il est géré plus artisanalement que les autres hein ;DC'est une écriture manuscrite, et le livre est distribué par des pigeons voyageurs :D
Lo-X, merci beaucoup, c'est très gentil! :)
Concernant le système de commands, d'abord nous n'étions pas certains s'il était trop compliqué ou pas assez flexible. Nous l'avons développé pour les entrées de l'utilisateur, mais il est capable de gerer beaucoup d'autres choses ;)
Ça veut dire qu'un mec qui a suivi le livre ne peut pas reprendre son code tel quel (ou amélioré) pour l'utiliser dans un jeu commercial sans tout refaire différemment ? Quel intérêt du coup ?
Bah ça veut dire que ce livre est juste fait pour apprendre et que le code n'est peut être pas assez de bonne qualité pour être commercial. [...] Et puis c'est un jeux pas vraiment un moteur de jeux je crois donc si tu revends un jeux qui est gratuit sans modifier le code bah ça c'est mal.
Par exemple, une des erreurs qui revient le plus souvent est la mauvaises utilisations des containers de la STL. Très souvent std::vector<T> est utilisé alors qu'il y a bien plus adapté à la situation (array, list, stack ...).On utilise beaucoup des containers spécialisés: vector, deque, list, array, queue, set, map. Mais en général, std::vector est le "défaut", parce qu'il se comporte bien dans la plupart des situations. Où est-ce que tu penses qu'il serait mieux d'utiliser un container différent?
Un autre point que j'ai trouvé étrange lors de la lecture de ce livre, est que std::move est utilisé dans les premiers chapitres (abordant donc les rvalue-references) mais que les «move constructors» ne sont jamais abordésIl ne faut pas définir les constructeurs move si les objets (comme std::unique_ptr) sont déjà "movables". Aussi les rvalue-references, notre code ne les contient pas. Nous appliquons la sémantique move, mais nous évitons de définir des types movables (les compilateurs sont capables de les définir implicitement).
Le dernier points que je détaillerais n'est présent qu'une seul fois dans le code. Une surcharge est faite pour la méthode «load» de «ResourceHolder», dupliquant une partie du code (rompant les concepts définies au début du livre prohibant la duplication). D’après moi, l'utilisation de «template variadiques» couplé à std::forward aurait été bien plus judicieux, et aurais également permis d'aborder ces ajout au C++ de façon simple et efficace.Oui, mais comme nous avons expliqué au début, nous avons fait des compromis pour souténir des compilateurs comme VS 2010. Dans un autre contexte (state stack), nous mentionnons les variadic templates.
Pour ce qui est de l'emplacement, je sais plus où j'avais vus, mais il me semble que c'était un vector déclarer de taille fixe. Cette taille étant la taille d'une enum. Dans ce cas, un array aurais été préférable.Pas nécessairement. std::array est plus vite parce qu'il n'a pas besoin d'allocation, mais il a le désavantage qu'il faut connaître la taille à la déclaration, que l'objet peut utiliser le mémoire du stack qui est limité, et que l'opération move est lente et pas "exception-safe". D'autre part, std::vector est problematique s'il est contenu de beaucoup des petits objets, alors l'allocation et le mémoire ne valent pas la peine.
Je sais que en C, les enum commencent pas forcément à 0, sauf si on spécifie explicitement (ça dépend des compilot). Pour le C++, je n'ai aucune idée de si la norme définie que les enum commencent à 0.Oui, elle est définie comme ça, donc le = 0 est superflu et pas habituel.
If the first enumerator has no = , the value of its enumeration constant is 0. Each subsequent enumerator with no = defines its enumeration constant as the value of the constant expression obtained by adding 1 to the value of the previous enumeration constant.
Bonjour, je suis débutant en C++ et j'avoue être très intéressé par le livre, j'ai plusieurs questions pour savoir a quoi m'en tenir.
Si on achète le livre, peut on également avoir accès gratuitement à la version numérique ou c'est un achat à part ?
J’imagine que vu qu'il s'agit d'un shooter en vue de dessus, il doit y avoir au moins un chapitre dédié a la physique (gestion de collisions, forces appliqués, vecteurs...) est elle faite complètement à la main ou a l'aide d'une librairie OpenSource comme Box2D par exemple ?
Est-ce que le code C++ un peu avancé/nouveau est brièvement expliqué ? Pour donner un exemple, imaginons qu'a un moment lors de la création d'une classe on utilise pour une méthode un passage par référence constante au lieu de par référence tout court, est ce qu'on est censé comprendre par nous même pourquoi le choix est judicieux dans ce cas, ou alors c'est brièvement expliqué ? Est ce que les utilisations du C++ 11 sont mises en valeur ou on considère que le lecteur connais déjà le C++11 ?
Merci d'avoir pris le temps de lire tout ca :)
Quel IDE est utilisé dans ce livre ?
Si on achète le livre, peut on également avoir accès gratuitement à la version numérique ou c'est un achat à part ?Oui, tu reçois aussi le e-book si tu achètes le livre (sur la site Packt (http://www.packtpub.com/sfml-game-development/book), tu verra "Print + free eBook + free PacktLib access to the book").