![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ouvrir sur le forum | Recherche | Messages du jour | Marquer les forums comme lus |
Projets Projets de développement amateur sur Nintendo DS |
Publicité |
![]() |
|
Outils du projet | Modes d'affichage |
Publicité |
![]() |
||
Membre
Date d'inscription: 16/04/2006
Messages: 20
|
![]() Citation:
Le must c'est de faire une superposition musique => bruitages pour une ambiance sympa, sinon tu ne peux pas dépasser les 4mo de données, sauf si tu utilise pafs (mais c'est limité à 2-3 matos si j'ai bien compris, sur m3 ça marche pas pour importer des sons par ex...). Pour encoder en .raw pour palib il faut mettre le son en 8bits unsigned, et suivant la qualité obtenue ou de base => diminuer la fréquence (perso j'préfère faire les modifs avant sous audacity, ça permet de couper le son entre autres et de permetre de le faire boucler sans qu'on remarque que le son redémarre), ton prob vient sûrement du fait que tu garde ton son en stéréo (50% de taille en plus) et avec une fréquence trop élevée. edit : ton son retouché ne fait que 390ko en .raw ![]() Dernière modification par Darkoli ; 13/02/2007 à 20h46. |
|
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 04/08/2006
Messages: 424
|
![]() si je le converti en mono et 8 bits unsigned il faut que je mette sample 32000 pour que cela me fasse un fichier de moins de 4 mo. Et si je le li sur la ds, ça grésille et on entend rien du tout.
Si tu pouvait m'aranger le son sur ton logiciel audacy (puis me l'uplowder)de manière à ce qu'on ne remarque pas quand ça redémare, ça serait cool de ta part. |
![]() |
![]() |
![]() |
|
Membre
Date d'inscription: 16/04/2006
Messages: 20
|
![]() Je l'ai augmenté tu m'dis si c'est mieux : ici
Au fait c'est en 22050khz (pas du 16000). Dernière modification par Darkoli ; 13/02/2007 à 22h07. |
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 04/08/2006
Messages: 424
|
![]() ça
c'est déja mieux mais il faut encore mettre à fond et on entend juste. Au fait té sur que tu té pas trompé de fichier ? car la ça fait pas trop ambiance bar, il y a un bruit bizarre au fond [EDIT MODO] CyBeRCeD, pense à éditer au lieu de double poster à une minute d'intervalle... Dernière modification par Arcadia ; 13/02/2007 à 22h23. Motif: Double POST |
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 04/08/2006
Messages: 424
|
![]() non on peuit pas audacity, c'est juste pour modifier le fichier .mp3 pour le raccourcir, l'allonger, le couper à un moment voulu ou augmenter le son d'origine. Après les modif, tu convertie le son sous switch.
Sinon Samote, tu pourrai peut être m'aider toi pour la vitesse de ma balle vu que tu a fait un peut le même genre avec les palets. Comment a tu géré la vitesse? moi j'ai fait : Code:
if((x>=6) && (x<=242) && (y>=33) && (y<=390)){ x += PA_Cos(angle_balle)* vitesse_balleX; y -= PA_Sin(angle_balle)* vitesse_balleY; if (x < 6) { x = 6; vitesse_balleX = - vitesse_balleX; } else if (x > 242) { x = 242; vitesse_balleX = - vitesse_balleX; } else if (y < 33) { y = 33; vitesse_balleY = - vitesse_balleY; } else if (y > 390) { y = 390; vitesse_balleY = - vitesse_balleY; } } PA_DualSetSpriteXY(12, x, y); } Code:
u16 angle_balle = 129; u32 vitesse_balleX = 1; u32 vitesse_balleY = 1; |
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 04/08/2006
Messages: 424
|
![]() c'est censé faire quoi en fait ? car la ma balle reste bloqué dans le coin haut gauche de l'émulateur et bouge sur 1-2 pixel sans s'arréter.
Que je mette ma balle au départ en x=6 y=33 ou en x242 y 390 lema balle reste en haut à gauche |
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 06/12/2006
Messages: 83
|
![]() Salut
c'est normale que si tu met x = 242 et y = 390 puis la fct PA_DualeSetSprite(12, x>>8,y>>8); la balle se coince dans un coin car les coordonnées doivent etre en point fixes donc si tu met : PA_DualSetSprite(12,x,y); sa devrait marcher sinon tu met : x = 242 << 8; y = 390 << 8; puis PA_DualSetSprite(12, x>>8, y>>8); puis pour deplacer la balle tu devra faire par exemple x += 1<<8; //avance de un ixel pa frame; ou x += 512; //avance de 2 pixel par frame ou encore x += 64;//avance d'un quart de pixel par frame; je suis pas sur du nombre de pixel par frmae maissa foncionne comme sa. Pouer256 |
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 04/08/2006
Messages: 424
|
![]() j'ai fait
Code:
if((x>=6) && (x<=242) && (y>=33) && (y<=390)){ x += PA_Cos(angle_balle)* vitesse_balleX << 8; y -= PA_Sin(angle_balle)* vitesse_balleY << 8; if (x < 6) { x = 6 >> 8; vitesse_balleX = - vitesse_balleX; } else if (x > 242) { x = 242 << 8; vitesse_balleX = - vitesse_balleX; } else if (y < 33) { y = 33 >> 8; vitesse_balleY = - vitesse_balleY; } else if (y > 390) { y = 390 << 8; vitesse_balleY = - vitesse_balleY; } } PA_DualSetSpriteXY(12, x>>8, y>>8); } |
![]() |
![]() |
![]() |
||
Membre confirmé
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
|
![]() PA_DualSetSpriteXY ne demande pas des coordonnée en point fixe.
Donc il faut les remettre en normal quand on l'appelle. PA_Cos et PA_Sin revoie une valeur entre -256 et 256 donc si on utilise pas >>8 la balle va bouger de beaucoup trop de pixel par frame. Citation:
|
|
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
|
![]() Pourquoi tu comment par :
if((x>=6) && (x<=242) && (y>=33) && (y<=390)) ? Je te conseil de placer la balle au milieu d'un des deux écrans aléatoirement ou une fois sur 2 comme tu veut. On ne peut pas la mettre au milieu a cause du "trou" entre les deux écrans. Après tu lui donne une impulsion une seul foi. Sa donnerai : Code:
x = milieu de l'écran y = milieu de l'écran PA_setspriteXY(x, y) VitesseX = "valeur a régler"<<8 VitesseY = "valeur a régler"<<8 while(1) { x += VitesseX y += VitesseY PA_setspriteXY(x>>8, y>>8) Code des collision } |
![]() |
![]() |
![]() |
|
Membre confirmé
Date d'inscription: 06/12/2006
Messages: 83
|
![]() Salut
Alors moi si je serai a a place je remplacerai ton code par sa if((x>=6) && (x<=242) && (y>=33) && (y<=390)){ x += PA_Cos(angle_balle)* vitesse_balleX xxx; y -= PA_Sin(angle_balle)* vitesse_balleY xxx; if (x>>8 < 6) { x = 6 << 8; vitesse_balleX = - vitesse_balleX; } else if (x>>8 > 242) { x = 242 << 8; vitesse_balleX = - vitesse_balleX; } else if (y>>8 < 33) { y = 33 << 8; vitesse_balleY = - vitesse_balleY; } else if (y >>8 > 390) { y = 390 << 8; vitesse_balleY = - vitesse_balleY; } } PA_DualSetSpriteXY(12, x>>8, y>>8); } tu enleve les << 8 quant tu deplace la balle; comme sa tu donne pour valeur de depart 256 e vitese_balle puis 512 pour quelle aille deux fois plus vite 128 pour deux fois moin vite ... voila je te prospose sa mais je suis par sur que cela fonctionne mais test quand meme . edit : tu pourrais fair une structure pour ne pas te melanger les pinceau avec ta balle du genre : typedef struct Balle Balle struct Balle { long x,y; long vitesseX,vitesseY; long angle; }; et tu la mey comme sa Balle balle = { position x de depart, position y de depart, vitesse x initial, vitesse y initial, angle initial }; et tu debute ton code dans la boucle principale. pouer256 Dernière modification par pouer256 ; 14/02/2007 à 12h39. |
![]() |
![]() |
![]() |
Liens sociaux |
Publicité |
Utilisateurs connectés lisant ce projet : 1 (0 membres et 1 invités) | |
Outils du projet | |
Modes d'affichage | |
|
|