( les systemes de tiles, ça se compresse tres bien en mémoire, en combinaison avec du streaming, ça DOIT marcher facilement pour n´importe quelle taille)
je viens de passer à Visual Studio 2003 pro ( pour ceux que ça interesse de l´avoir gratuitement et légalement allez faire un tour sur le forum programmation ( si vous êtes étudiant)) et j´ai un problème avec un programme.
je suppose que c´est une différence dans l´application de la norme :
c´est une lib dans laquelle j´ai une classe advio qui surcharge de différente manière les opérateurs < < et > > pour faire des entrée sortie ( en gros sur tout les type de base), déclaré comme tel :
advio& advio::operator<<(const int nb)
plus loin j´ai une classe Rn disont qui veut aussi pouvoir être imprimer.
pour celà, j´ai définit dans le copr de la classe Rn la fonction :
friend TextXP::advio& operator<<(TextXP::advio& s,const Rn<T,n> &);
et dans le même fichier que celui de la définition de Rn c´est à dire un fichier . h car tout ça c´est template, je définit :
template<class T,int n> TextXP::advio& operator<<(TextXP::advio& s,const Rn<T,n> &)
mais dans un programme de test, lorsque je veut l´utiliser, il me fait une erreur au link, comme quoi il ne trouve pas ces opérateur, alors qu´il a bien compilé le fichier qui décrit la classe ( qui sont inclu par le fichier d´en tête de ma librairie) puice que j´instance des objets de cette classe.
est-ce qu´il y a un problème connu et reconnu avec des fonction de ce genreà coté duquel je serais passer ?
ah oui, et ma fonction est friend, parce que sinon je ne peut pas surcharger l´objet à gauche des opérateur < < et > >
dnob700 : je ne sais pas , ca changera quelque chose ?
ca ne risque pas de modifier mes valeurs ?
et puis , je veux pouvoir en mettre plus de 256 aussi . ..
par contre , un chargement en differe , ou un systeme de compression LGV et Dnob700 , je laisse ca à ceux qui seraient interesses de continuer ce projet avec moi, c´est deja trop complique de faire un truc simple
prend les graphisme de rpg maker, la résolution est celle du logiciel pas des graphisme.
si tu les utilise il seront en 1024*768 ( si c´est ta résolution) et il n´en seront que plus joli.
à la limite utilise ceux que rpg maker XP je crois que le résoltion est meilleur et les graphisme doivent donc être plus joli.
Dnob700 : oui , mais le personnage sera beaucoup plus petit nan ? ou , si je l´agrandis , il sera pixelise . .. boah , c´est peut etre l´occasion pour moi d´apprendre à dessiner
par contre , est ce que quelqu´un sait comment allouer dynamiquement de la memoire en c++ pour un tableau a deux dimensions ?
j´ai essaye ca :
dans ma classe Map:
short Carte[][];
et ensuite , dans une fonction membre
Carte = new short[MAPX][MAPY];
avec MAPY et MAPX des entiers qui valent 500 .
mais il me dit
76 C:\Dev-Cpp\Mes Programmes\main.cpp incompatible types in assignment of `short int ( *)[((this->Map::MAPY - 1) + 1)]´ to `short int[0][0]´
. .. c´est possible ou pas d´allouer un tableau a deux dimensions ? sinon , je ferais à une seule , mais ca m´embette . ..merci ![]()
jejej > je fais un petit saut rapide : j´ai que 5 mins :
allouer un tableau en 2D dynamiquement n´est pas immédiatement possible :
ce qu´on fait ( ce qui revient au meme, qui se manipule avec tab[x][y] apres)
c´est :
int** tab;
tab = new tab*[Y]; / / alloue un tableau de pointeurs !
for(i=0;i<Y;i++)
tab[i]=new tab[X];
voila ![]()
et apres, donc, ça te fait comme si tu avais un tableau en 2D, on va dire : ça se manipule par tab[x][y] comme je te disais plus haut
cependant, en mémoire, c´est un peu différent, c´est un tableau de pointeurs ( je me repete
)
Tiens on parle des tableaux 2D, moi des vector. Peut-on faire un vector de vector ?
et jyy comment compiler l´opengl sans avoir mon dilème ( qq pages avant)
tiens MrGoto, ça tombe exactement dans le problème de ma question de problème avec les template quelques post au dessus.
plus sérieusement, le vector est optimisé pour les type de base. Si tu faisait un vector de vector ( je ne sais pas si c´est tecniquement possibe) alors t´as en fait un tableau de pointeur vers des vector, qui chacun sont bien,mais le tout n´est plus très optimisé.
le principe du vector est je crois d´exploiter la sérialisation des processeur ( tecnologie SSE et consors) pour accelerer le plus possible, mais si tu te mets à les triturer, ce devient n´importe quoi...
Enfin c´est trop super mega pratique. Comme les string. Quand t´as bouffé des tableaux variables de char et que tu passes aux string t´es content. Alleliua ! Tous en string !
slt jeanyvesyves,
je voudrais connaître la commande qui permet de sauver une donnée pour pouvoir la revoir même après avoir arrêter et redémarer le programme
merci d´avance
Je te conseille le tuto de Tastalian
( ici : http://tastalian.free.fr/cours.php?part=C&index=3 )
au niveau fichier
http://rafb.net/paste/results/nsxR4t28.html
ceci est un bout de votre tuto sur ram ou vram , vous mettez int x=0;
cest pour avoir les coordonné du rect.x ? ??
merci bcp nulissimo, grace a toi je vai pouvoir terminer mon premier mprogramme....... UN AGENDA!! ( remarquez que je reste modeste au début et que je cherche pas à faire le digne successeur de world of warcraft)
Salut, je travaille sur un casse-brique en SDL avec fmod. Mon probleme est au niveau de fmod. Pour expliquer, je veux faire le son blob qui dans le même répertoire, mais aucun son est entendu. En premier, j´ai une fonction qui initalise:
void init_fmod() / / initialise Fmod
{
FSOUND_Init(44100, 32, 0);
FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
FSOUND_SetDriver(0);
}
Puis, à chaque fois que la balle touche une brique
la fontion suivante est appelé:
inline void collision(SDL_brique *briq)
{
FSOUND_STREAM* g;
g=FSOUND_Stream_Open("./bob.wav",0,0,0);
FSOUND_Stream_Play(0,g);
briq->x =0;
briq->y =0;
briq->h =0;
briq->w =0;
}
Malgré tout cela je n´entend rien,pourquoi?(c´est mon premier prog avec fmod)
tu joue sur le canal 0, c´est bien ?
enfin, j´en sais rien, j´y connait rien à FMOD, tout ce que je pourrait te dire c´est coment le faire avec SDL Mixer
salut !
je voudrais savoir si c´est possible de supprimer le texte dans une console windows ( vous savez l´écran tout noir , comme avec " Hello world"), pour le remplacer par autre chose , faire de la place quoi et que ça ne se cumule par sur la page
pouky10 :
si tu veux , voila le fichier son.cpp que j´avais utilise pour un de mes projets . ..
/*************************************************
/ / les sons
FSOUND_STREAM *intro;
void InitialisationSon()
{
/ / initialisation du son . ..
FSOUND_Init(44100, 32, 0);
FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
FSOUND_SetDriver(0);
}
void Musique()
{
intro =
FSOUND_Stream_Open("./intro.mp3",FSOUND_LOOP_NORMA
L, 0,0);
FSOUND_Stream_Play(0, intro ) ;
}
void LibererMusique()
{
FSOUND_Stream_Close(intro);
}
mais , c´est pour un mp3
en tout cas , ca marchait ^^
il suffit
d´appeller InitialisationSon au debut de ton programme
et des que tu veux jouer un son , tu mets
Musique();
http://rafb.net/paste/results/nsxR4t28.html
ceci est un bout de votre tuto sur ram ou vram , vous mettez int x=0;
cest pour avoir les coordonné du rect.x ? ? ?