|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2012 Messages : 7 ![]() |
Bonjour,
Je suis nouveau et j'ai un problème avec mon code : j'ai un projet à faire pour mon école avec la SDL 2D et la SDL image et le problème est que je ne peux plus du tout déclarer de variable sinon mon programme met les images n'importe comment et le blitting ne se fait pas correctement. Voici mon code : Code :
ps: INIT sert a charger SDL_INIT_VIDEO |
||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
Où se situe exactement ton problème ? Je dois avouer que ce n'est pas très clair
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : mai 2012 Messages : 7 ![]() |
Mon probleme est le suivant, si je lance mon code comme sa il marche (il y a un avion que l'on peut dirigé et en fond le décor qui scrolle en vertical avec un timer) mais si je rajoute une seul variable, meme sans l'utilisé apres (par exemple int i = 1; ), le programme plante et l'avion se retrouve sur un fond noir, le blittage de marche pas et le décor utilisé pour le fond se trouve a l’extrémité vertical au dessus du fond noir
|
|
|
00
|
|
|
#4 |
![]() ![]() |
A tout les coups, ce doit être un SEGFAULT, tu dois avoir un pointeur qui pointe n'importe où, si tu écris et si tu change ou rajoute une ligne l'erreur est détectée.
Essaye de voir ce que te dit Valgrind. Et regarde ce que donne l'exécution de ton programme avec DDD.
__________________
Recherche devs C++ motivés et sérieux pour Last Dungeon. Chaîne Youtube : Vidéos Ma page DVP : http://neckara.developpez.com/ |
|
|
10
|
|
|
#5 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2012 Messages : 7 ![]() |
j'ai refait mon code et je pense que le problème vient de ma caméra (écran dans mon code précédent, renommé caméra dans celui ci-dessous)
voila la petite partie qui est concernée et que j'ai faite, mais je comprend pas pourquoi l'image de fond s'affiche qu'en haut de la fenêtre: Code C :
|
||
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 415 ![]() |
Code :
J'ose croire que vous avez inverser coordonnees et fond.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
||
|
00
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : mai 2012 Messages : 7 ![]() |
oui j'y avait pensé aussi mais dans l'autre sens cela ne marche pas :/
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 415 ![]() |
La coordonnées de fond.y me semble énorme.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Étudiant Inscription : mai 2012 Messages : 7 ![]() |
c'est normal je charge le niveau en entier et après il se scroll avec un timer en décrémentant
|
|
|
00
|
|
|
#10 |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 415 ![]() |
Si j'en crois ce tutoriel -> http://loka.developpez.com/tutoriel/sdl/premiere_app/
Les coordonnées en Y, vont vers le bas. Donc votre image est affiché à plus de 14000 pixels en dessous de l'écran.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
|
00
|
|
|
#11 |
|
Invité de passage
![]() Étudiant Inscription : mai 2012 Messages : 7 ![]() |
oui c'est sa le concept, l'écran commence en haut a gauche aux coordoonnées 0,0 et avec ma fonction caméra je veut commencer en bas de la map déja chargé en fond en remontant (décrémentation de y) pour au final arrivé a y = 0, et la le niveau est finit
|
|
|
00
|
|
|
#12 |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 415 ![]() |
Je vais tenter de reprendre
Le schéma pour la SDL : ![]() Soit, la coordonnées en 14000 est très très bas de l'écran. Maintenant, pour le background que vous utilisez (et pour toute les images), le point en haut à gauche est au coordonnée 0,0. Donc, si vous voulez afficher le bas de l'image, il faut être en -14000 (enfin, selon la dimension). Ou alors, gérer l'affichage morceau pas morceau en définissant les width et height des SDLRect (à passer dans SDL_BlitSurface).
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
|
00
|
|
|
#13 | |||
|
Membre éclairé
![]() Développeur informatique Inscription : mai 2011 Messages : 203 ![]() |
Hello,
Je tique sur 2 choses dans ton code: Quand tu fais ton blitSurface(..,&fond,...), il va prendre dans l'image background la coordonnée (140,13190) et la blitter en (0,0) de ecran C'est peut-être ce que tu souhaites, mais n'est-il pas plus normal d'écrire Code :
La seconde chose, beaucoup plus importante, c'est que fond.w et fond.h ne sont pas renseignés. Or, Citation:
Edgar. |
|||
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2012 Messages : 7 ![]() |
Le problème venait bien de .h et .w merci a tous et surtout merci a toi edgarjacobs.
donc pour ceux qui ont le même problème j'ai fait Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com