| [CoRoLia] Code Blocks | |
|
|
Auteur | Message |
---|
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: [CoRoLia] Code Blocks Lun 19 Mar 2012, 00:25 | |
| Ce topic servira aux discussion à propos de Code Blocks. Surtout pour que je puisse t'y poser des questions techniques. - Citation :
- #define KNIGHT_ANIM1_ATTAQUE 1 // nombre de frame de la premiere pose de l'anim d'attaque
#define KNIGHT_ANIM2_ATTAQUE 1 // nombre de frame de la deuxieme pose de l'anim d'attaque #define KNIGHT_ANIM3_ATTAQUE 1 // nombre de frame de la troisieme pose de l'anim d'attaque Je comprends bien ces lignes mais il n'y en a pas pour la 4ème pose ? - Citation :
- #define KNIGHT_ANIM_ATTAQUE 5 // nombre de frame total de l'anim d'attaque
A quoi sert cette ligne ? Je crois avoir compris... Est-ce que c'est finalement avec elle qu'on peut créer le nombre de frame de la 4ème pose (frames de cette ligne retranchées aux 3 autres) ?? - Citation :
- #define KNIGHT_SAUT0 5 // vitesse de saut à la première frame du saut en pixel / frame
#define KNIGHT_SAUT1 3 // vitesse de saut à la 2eme frame additionée à celle de la premiere frame #define KNIGHT_SAUT2 2 // même principe #define KNIGHT_SAUT3 2 // même principe Je comprends cela mais ça influe sur la hauteur de saut donc ? Si j'augmente les valeurs le héros saute plus haut car il va plus vite en montant (dans le fond un saut durera le même temps en l'air qu'il soit un saut fort ou un saut faible). J'aimerai que les différents calibres de sauts aillent tous à la même vitesse donc un saut de fort calibre logiquement sera plus longtemps en l'air. Tu comprends la nuance ? Aussi je me rend compte que ça marche un peu bizarrement... toutes les valeurs s'additionnent après un nombre de frame ? (combien de frame ?) et si on fait la combinaison de base 5/3/2/2 ça ne revient pas à faire 12/0/0/0 par exemple (qui saute plus haut). Tu peux m'éclairer sur la logique de ces 4 lignes stp ? ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Lun 19 Mar 2012, 21:20 | |
| - Citation :
- A quoi sert cette ligne ? Je crois avoir compris... Est-ce que c'est finalement avec elle qu'on peut créer le nombre de frame de la 4ème pose (frames de cette ligne retranchées aux 3 autres) ??
Tout à fait, j'aurais pu faire une ligne pour la 4eme pose mais ça aurait fait doublon avec la ligne du total de l'anim et risquait donc de faire des erreurs (que la somme des poses ne soit pas égale au total ) - Citation :
- Je comprends cela mais ça influe sur la hauteur de saut donc ?
Si j'augmente les valeurs le héros saute plus haut car il va plus vite en montant (dans le fond un saut durera le même temps en l'air qu'il soit un saut fort ou un saut faible). J'aimerai que les différents calibres de sauts aillent tous à la même vitesse donc un saut de fort calibre logiquement sera plus longtemps en l'air. Tu comprends la nuance ?
C'est le cas en fait, il me semble que j'avais déjà expliqué mais même moi j'avais pas trouvé ça clair (pour dire ), donc je vais essayer de rendre ça plus compréhensible. Pourtant le principe est vraiment simple, la base c'est que la "gravité" augmente la vitesse en y du joueur de 1 toute les frames. Néanmoins afin que le joueur ne tombe pas trop vite et pour empêcher des erreurs de collisions, la vitesse du joueur possède une valeur maximale située dans "joueur.h" : - Code:
-
#define JOUEUR_CHUTE_MAX 12 // vitesse maximale de chute du joueur (en pixel/frame ) Faire un saut se résume alors à donner une valeur négative à la vitesse en y du joueur. Pour réaliser un saut dépendant du temps d'appui sur la touche de saut (on avait modifié ça je ne sais pas si tu te rappelles ), le programme résonne ainsi : plus on appui longtemps sur la touche, plus le code diminue la valeur de la vitesse. Ainsi à la première frame de l'appui sur la touche, la vitesse est mise à " - KNIGHT_SAUT0 = -5", puis la gravité s'applique (la vitesse vaut alors -5 + 1 = -4 ). Lors de la 2ème frame de l'appui, on soustrait "KNIGHT_SAUT1 = 3" (la vitesse vaut alors -4 - 3 = -7 ), puis la gravité fait son effet (la vitesse vaut alors -7 + 1 = -6 ). Ainsi de suite jusqu'à arriver à la 4eme frame où la vitesse ne fera que augmenter. Par exemple pour la configuration actuelle du knight, pour un appui continu sur la touche de saut, la vitesse vaudra après application de la gravité et donc lors du déplacement effectif du joueur (chaque frame est séparée par un point virgule ) : -4 ; -6 ; -7 ; -8 ; -7 ; -6 ; -5 ; -4 ; -3 ; -2 ; -1 ; 0 ; 1 ; 2 ; 3 ...... soit au total un saut maximum de 53 pixels. Si on reprend ton exemple de 12/0/0/0 on aurait : -11 ; -10 ; -9 ; -8 ; -7 ; -6 ;- 5 ; -4 ; -3 ; -2 ; -1 ; 0 ; 1 ; 2 ; 3 .... soit un saut de 66 pixel au total donc bien plus haut que le premier et avec surtout une évolution de la vitesse dans le temps complétement différente, il est aussi légèrement plus long alors que plus haut (avec un autre réglage on pourrait faire un saut de la même hauteur sensiblement plus long ). Bref ce n'est pas vraiment facile de régler ces constantes (je l'ai fait par tâtonnement ), mais ça permet de vraiment obtenir ce que l'on veut Edit : j'avais fait une confusion dans le sens de la gravité, tout est corrigé ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Lun 19 Mar 2012, 23:45 | |
| OK, je vois mieux, même si ça reste complexe le coup où tu décompose et tu explique pourquoi certains sauts avec les mêmes totaux sont de différentes hauteur... Dans le fond... au cas où j'ai un mal fout à comprendre et donc calibrer moi même, est-ce que c'est possible d'avoir de tas part quelques combinaisons que tu penses bonnes pour certains types de sauts ? (Je les expliquerai au besoin). Parce que là je trouve que c'est dur, même en comprenant, d'y voir clair. Le truc que j'ai remarqué aussi c'est que la première valeur, si elle est trop basse ne change pas grand chose si on appuie à fond mais si on appuie presque pas le personnage ne décolle pas du sol, donc on est obligé en général de faire une valeur haute pour la première valeur. Merci pour l'explication en tout cas... je vais reessayer d'obtenir des choses bien. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Mar 20 Mar 2012, 19:25 | |
| - Citation :
- pourquoi certains sauts avec les mêmes totaux sont de différentes hauteur
En fait j'ai fait le total en additionnant les valeurs négatives - Citation :
- Dans le fond... au cas où j'ai un mal fout à comprendre et donc calibrer moi même, est-ce que c'est possible d'avoir de tas part quelques combinaisons que tu penses bonnes pour certains types de sauts ?
Il me semble que j'avais déjà fait des configurations pour les différents perso. Mais oui c'est possible (même si c'est vraiment du tâtonnement ) - Citation :
- Le truc que j'ai remarqué aussi c'est que la première valeur, si elle est trop basse ne change pas grand chose si on appuie à fond mais si on appuie presque pas le personnage ne décolle pas du sol, donc on est obligé en général de faire une valeur haute pour la première valeur.
J'avais aussi remarqué que globalement il faut que les valeurs soit décroissantes ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Dim 01 Avr 2012, 18:35 | |
| Je viens de me rendre compte que pour chaque nouvelle démo, si je veux ouvrir par CodeBlock et compiler je devais changer les chemins dans les propriétés qui diffèrent entre ton pc et mon pc (programmes chez toi et program files chez moi, c'est con c'est la même chose). Est-ce que ça sera toujours ainsi ? Il y a un moyen de ne plus avoir ce problème ? Aussi, je me demandais si c'était possible de faire que CodeBlock ne recompile que ce qui a été changé, j'ai l'impression que compiler prend quand même du temps (chiant si on veut changer des valeurs vite fait pour vérifier des trucs) ça ne ferait pas gagner du temps de simplement recompiler ce qui a été changé ? Bon j'imagine que ce n'est pas de ton ressort. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Dim 01 Avr 2012, 20:04 | |
| - Citation :
- Je viens de me rendre compte que pour chaque nouvelle démo, si je veux ouvrir par CodeBlock et compiler je devais changer les chemins dans les propriétés qui diffèrent entre ton pc et mon pc (programmes chez toi et program files chez moi, c'est con c'est la même chose).
Est-ce que ça sera toujours ainsi ? Il y a un moyen de ne plus avoir ce problème ? J'ai pas trouvé un moyen de plus avoir ce problème, mais je vais rechercher ^^ - Citation :
- Aussi, je me demandais si c'était possible de faire que CodeBlock ne recompile que ce qui a été changé, j'ai l'impression que compiler prend quand même du temps (chiant si on veut changer des valeurs vite fait pour vérifier des trucs) ça ne ferait pas gagner du temps de simplement recompiler ce qui a été changé
Si tu fais un "build & run" ça devrait compiler que ce qui a été changé (contrairement à un rebuild ). Mais quand on modifie un fichier ".h", code blocks recompile tous les fichiers qu'ils l'utilisent, ce qui fait vite un paquet de fichier (le fichier ".c" associé, souvent le fichier ".h" qui gère les structures du même genre et son fichier ".c", plus d'autres fichiers annexes qui peuvent en avoir besoin aussi ). Donc ça peut vite prendre un peu de temps. Cette spécificité vient du fait que les ligne "define" sont remplacés dans le code à la compilation et non géré durant le fonctionnement du programme (code blocks réécris tous les mots associés aux define dans le code lui même ). ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Dim 01 Avr 2012, 20:09 | |
| En effet, en fait c'est moins long des fois suivant les changements. J'avais pas remarqué. - Citation :
- J'ai pas trouvé un moyen de plus avoir ce problème, mais je vais rechercher ^^
C'est pas si long de mon bord mais vu que je suis pas encore habituée ça me fait peur à chaque fois. Si tu sens que c'est complexe à corriger, laisse tomber, je devrais m'y habituer. ^^ ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Dim 15 Avr 2012, 05:27 | |
| J'essaye de compiler la 0.20 avec CodeBlock et ça me fait un message d'erreur : - Citation :
- ld.exe||cannot find -lSDLmain|
En gros il semble tout compiler et à la fin j'ai ça avec en dessous "0 warining". (PS : J'ai changé 3 accès dans les propriétés (de C:/Programmes à C:/Program Files) déjà.) ... Je vais essayer d'en finir avec le dosage des sauts, ça commence à être urgent. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Dim 15 Avr 2012, 15:32 | |
| Tu as surement oublié de modifier le chemin dans "Search Directories" ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Dim 15 Avr 2012, 16:43 | |
| J'ai vérifié et j'ai bien modifié le chemin dans Search Directories. J'ai ce chemin là : - Code:
-
C:\Program Files\CodeBlocks\SDL-1.2.14\include Et j'ai modifié les 2 autres chemins dans Linker Settings. EDIT : J'ai aussi essayé avec le chemin - Code:
-
C:\Program Files\CodeBlocks\SDL-1.2.14\include\SDL car j'ai un dossier SDL dans include avec le même genre de fichiers (tu me l'avais fait créer je crois il y a peu de temps). Et le résultat est le même. Voici ce que le BUild Log m'affiche si ça t'aide : - Code:
-
-------------- Build: Release in New ---------------
Linking executable: bin\Release\SDP Project Template.exe c:/program files/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: cannot find -lSDLmain collect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 1 seconds) 1 errors, 0 warnings ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Dim 15 Avr 2012, 19:39 | |
| Je vois pas pourquoi ça plante Je vais y réfléchir ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Dim 15 Avr 2012, 20:06 | |
| Si tu vois pas, au pire je peux recommencer tout, reprendre la démo que tu as envoyée, rechanger les chemins d'accès, etc. Je suis désolée que ça soit aussi compliqué à chaque fois que je dois utiliser CodeBlock, j'ai l'impression d'être une noob. :s ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Lun 02 Juil 2012, 00:58 | |
| Bon j'ai finalement trouvé la source de l'erreur... il était temps. ^^' J'avais seulement corrigé 3 chemins alors qu'il y en a 4 en tout à changer. Je me le note ici pour ne pas oublier : -----------------------------------------------------------------------------Aller dans : Project/Proprieties/Project Build's optionsLinker settings : 2 dernières lignes. - Code:
-
C:\Program Files\CodeBlocks\SDL-1.2.14\lib\SDL_image.lib - Code:
-
C:\Program Files\CodeBlocks\MinGW\lib\SDL_mixer.lib Search Directories :Compiler : - Code:
-
C:\Program Files\CodeBlocks\SDL-1.2.14\include Linker : - Code:
-
C:\Program Files\CodeBlocks\SDL-1.2.14\lib -----------------------------------------------------------------------------J'en reviens pas le temps que ça a pris, je vais pouvoir enfin tester les sauts avec 6 slots que tu as fais. Je dois essayer de faire le calibrage final des sauts pour les héros car toutes les mesures du level design se feront en fonction de cela. Donc en fait ça bloque la construction des niveaux en ce moment. Vu que l'éditeur ne permet pas facilement de changer de place des éléments (le déplacement n'existe pas) si je devais revoir les mesures ça reviendrait à recommencer tout le niveau. J'ai bien réfléchi et je pense qu'il va y avoir 3 types de hauteur de sauts, certains personnages auront la même. Car faire des différences mineurs pour chaque personnage n'est pas la meilleure idée : de 1) le joueur ne verra pas vraiment les différences entre deux héros qui sautes presque aussi haut et donc ne pourra pas juger facilement la hauteur d'un saut, de 2) ça n'apporte pas grand chose de sauter des demi cases en plus ou en moins donc en gros il va y avoir les héros qui sautes 4 cases, ceux qui en saute 3 et ceux qui en sautent 2 (forcement 2 est très petit mais ce sera seulement pour le Dragon et la Beast qui ont des habiletés qui pallieront à cela). EDIT : peux-tu me dire où se trouve la gestion de la gravité dans Code Block (si c'est simple à modifier), je voudrai tester avec une gravité plus faible ? Ou si c'est toi qui doit le faire, peux tu essayer de baisser la gravité un peu, pour que les héros retombent un poil moins vite après un saut. Je dirai environ 20% moins forte pour voir. Est-ce que ça va faire que les héros sautent plus haut forcement ? (donc que je devrais changer leurs valeurs de saut...?) ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Jeu 05 Juil 2012, 22:11 | |
| Euh la seule valeur facilement accessible c'est la vitesse maximale de chute. Réduire la gravité de X % impliquerait refaire toutes les valeurs des sauts effectivement Si le problème vient uniquement du sommet du saut, il y a peut être un autre moyen pour rester un peu plus longtemps en l'air, je vais y réfléchir ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Jeu 05 Juil 2012, 22:15 | |
| Réduire la vitesse maximale de chute pourrait aider un peu non ? Enfin ça ne toucherait pas la partie ascendante du saut alors que c,est aussi celle-ci que je trouve un peu trop rapide. Je rappelle que la différence que je voudrai serait de l'ordre de 10 à 20%. C'est assez faible. S'il faut que je change tous les chiffres des sauts si tu change la gravité ça ne me gène pas trop. Si c,est le plus simple pour toi. | |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Jeu 05 Juil 2012, 22:23 | |
| En fait réduire la gravité reviendrait à ne pas l'appliquer à toutes les frames. Ou alors on peut utiliser des valeurs décimales arrondies à l'affichage.
Je vais faire des tests pour voir ce que ça donne ! ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Ven 06 Juil 2012, 00:59 | |
| Oui tu me diras ce que tu en penses au pire tu m'enverra une version si tu veux que je vois. ^^ | |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Mar 17 Juil 2012, 17:49 | |
| J'ai trouvé un moyen de faire ceci : On peut même encore accentuer l'arrondi au sommet du saut si tu veux ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [CoRoLia] Code Blocks Mar 17 Juil 2012, 18:13 | |
| Cool ! C'est en travaillant sur quoi que tu as réussi ? La gravité ? Y a t-il une incidence sur le reste du jeu ? J'aimerai peut être un peu plus, oui. Mais le mieux c'est de tester. Soit tu me fait genre 3 versions, avec des courbes de plus en plus rondes, que je te dise ce que j'en pense, soit tu arrives à créer une variable qui peut modifier l'intensité de cette courbe que je joue moi-même avec pour tester. | |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [CoRoLia] Code Blocks Mar 17 Juil 2012, 18:32 | |
| Ben en fait ça coupe la gravité pendant une frame pour les vitesses de saut plus petites que 2. Donc on applique la gravité une frame sur deux au sommet du saut. C'est assez propre et il n'y a aucune incidence sur le reste du jeu. Je vais te faire plusieurs versions ____________ | |
|
| |
Contenu sponsorisé
| Sujet: Re: [CoRoLia] Code Blocks | |
| |
|
| |
| [CoRoLia] Code Blocks | |
|