:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Nintendo DS > Projets

Projets Projets de développement amateur sur Nintendo DS

Publicité

Commentaire
 
Outils du projet Modes d'affichage
Vieux 03/02/2007, 22h05  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut Baby-foot

Baby-foot DS

BETA 4
.sc.nds .nds .ds.gba

Présentation :

Voici mon premier projet sur DS. C'est un...

Dernière modification par Dr.Vince ; 12/12/2021 à 00h55.
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 13/02/2007, 14h45  
Beda
Thorgal
 
Date d'inscription: 15/02/2006
Localisation: 974
Messages: 479
Par défaut

Tiens ca
Je pense que ca peut t'aider .
__________________
Mon Blog

Beda est déconnecté   Réponse avec citation

Publicité

Vieux 13/02/2007, 20h12  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

Citation:
Envoyé par Samote
Sa correspond a quoi angle_balle ?
ben à la trajectoire que je done à ma balle.
là, j'ai mis 128 donc si je place la balle en face des cage ça y va droit dedans ça y rebondy et ça repart vers l'autre cage à l'infini.

Citation:
Envoyé par Beda
Tiens ca
Je pense que ca peut t'aider .
Merci, j'essayerai ça
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 13/02/2007, 20h28  
Darkoli
Membre
 
Date d'inscription: 16/04/2006
Messages: 20
Par défaut

Citation:
Envoyé par CyBeRCeD
ouai merci pouer, même si je l'avais déja trouvé ce site et téléchargé les fichiers. Ils sont en .mp3 il me semble. Je les ai converti en .raw avec switch. Le prob c'est que le fichier original fesait 1.47 mo et que le .raw fait 16.2 mo. C'est normal ? Car la compilation est du coup vachement longue et je n'arrive même pas à l'inclure.

sinon pas de solution pour ma vitesse de balle ?

merci d'avance

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.
Darkoli est déconnecté   Réponse avec citation
Vieux 13/02/2007, 21h22  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

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.
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 13/02/2007, 21h24  
Darkoli
Membre
 
Date d'inscription: 16/04/2006
Messages: 20
Par défaut

Essaye ça => ici

PS : j'ai pas testé sur la ds donc si c'est pas asser "fort" dis le.

Dernière modification par Darkoli ; 13/02/2007 à 21h29.
Darkoli est déconnecté   Réponse avec citation
Vieux 13/02/2007, 21h34  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

ok merci, effectivement il faudrait plus fort car là si je met le son de la ds à fond, il faut que je colle mon oreille au haut parleurs pour entendre quelque chose
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 13/02/2007, 21h58  
Darkoli
Membre
 
Date d'inscription: 16/04/2006
Messages: 20
Par défaut

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.
Darkoli est déconnecté   Réponse avec citation
Vieux 13/02/2007, 22h18  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

ç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
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 13/02/2007, 22h23  
Darkoli
Membre
 
Date d'inscription: 16/04/2006
Messages: 20
Par défaut

non j'ai pris le fichier de 1.47mo du site (ambi cafe casa 03 SF.mp3), mais le fichier de base est très faible niveau volume...
Darkoli est déconnecté   Réponse avec citation
Vieux 13/02/2007, 22h31  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

ouai ben c'est pas grave sinon laisse tomber, c'est vrai que le niveau d'origine était vachement bas ça doit pas rendre bien en l'augmentant et en le convertissant
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h08  
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

Comment on converti en raw sous audacity ?
__________________
Samote est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h16  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

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);
    }
avec comme variable :
Code:
u16 angle_balle = 129;
u32 vitesse_balleX = 1;
u32 vitesse_balleY = 1;
Quesqui cloche d'après toi ?
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h27  
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

Moi j'utilise PA_Movesprite et je récupère les vitesses. Mais toi tu peut pas parce que la balle n'est pas bouger au stylet.

Mais sa doit être un problème de point fixe. Tu utilise PA_SetspriteXY ?
__________________
Samote est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h29  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

ben oui tu voit pas à la fin
Code:
PA_DualSetSpriteXY(12, x, y);
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h38  
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

Bien ajoute l'opérateur >>8 comme ca :
Code:
PA_DualSetSpriteXY(12, x>>8, y>>8);
__________________
Samote est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h45  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

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
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h50  
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

Au lieu de mettre des = quand tu vérifie les collision utilise plutôt des >= et <=
__________________
Samote est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h53  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

c'est pas ce que j'ai fait ?
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 14/02/2007, 11h54  
pouer256
Membre confirmé
 
Date d'inscription: 06/12/2006
Messages: 83
Par défaut

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
pouer256 est déconnecté   Réponse avec citation
Vieux 14/02/2007, 12h03  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

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);
    }
mais ça ne fonctionne pas, il en fait encore d'autre ? (modifiez mon code pour me montrer. Merci
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 14/02/2007, 12h08  
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

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:
Envoyé par CyBeRCeD
c'est pas ce que j'ai fait ?
Si autant pour moi j'avais mal vu.
__________________
Samote est déconnecté   Réponse avec citation
Vieux 14/02/2007, 12h12  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

j'ai mis assez de <<8 et de >>8 là ou pas ? je pesne pas car ça ne fonctionne pas. Pouvez vous juste prendre le moreceau de code un peu plus haut et le modifier SVP ?
CyBeRCeD est déconnecté   Réponse avec citation
Vieux 14/02/2007, 12h32  
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

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
}
__________________
Samote est déconnecté   Réponse avec citation
Vieux 14/02/2007, 12h33  
pouer256
Membre confirmé
 
Date d'inscription: 06/12/2006
Messages: 83
Par défaut

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.
pouer256 est déconnecté   Réponse avec citation
Vieux 14/02/2007, 12h39  
CyBeRCeD
Membre confirmé
 
Date d'inscription: 04/08/2006
Messages: 424
Par défaut

dans les variables x et y je met quoi ? je met par exemple s32 x = 6; s32 y = 33;

ou il faut que je mette des <<8 ?
CyBeRCeD est déconnecté   Réponse avec citation
Commentaire

Liens sociaux

Publicité



Utilisateurs connectés lisant ce projet : 1 (0 membres et 1 invités)
 
Outils du projet
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h34.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince

GARS 2.1.9 édité par The vB Geek
Copyright 2005-2006
Version française par Cédric Claerhout