Vous n'êtes pas identifié.
comment définir une trajéctoire de saut pour un personnage qui soit parabolique?
j'ai commmencé le développement d'un mario like et je ne sais pas comment faire pour que quand il saute, son saut soit arrondi.
help pliz :!:
Hors ligne
et bien la solution c'est F(x) : y=(-x²)/nb2 + nb
et 'nb' c'est la hauteur de ton saut et 'nb2' c'est la longueur.
(trace différentes courbe sur ta graph100 pour comprendre...)
Il ne te reste plus qu'a connaitre les solutions de f(x)=0;
Deux solutions sol1 et sol2:
une négative et une positve (dans la plupart des cas)
Des que le joueur saute tu n'as qu'a faire un boucle de ce genre
do
{
X++;
newY=X²/nb2+nb;
Y=Y+newY;
affiche_perso(X,Y);
}
while(y==0 et x==sol2)
Avec X et Y les coordonnées du perso. sol2 la solution positive de l'équation f(x)=0.
Pour résoudre f(x)=0 tu fais descriminant et tout le reste ...
je vais pas te faire un cours de maths sur comment résoudre une equation du second degré! à moins que tu sois au collège...
J'ai pas essayé mais ce que j'ai fais me semble logique et pas trop compliqué :mrgreen:
Hors ligne
t malade lol si le perso bouge pas ou recul c le daroi !!
un truc comme ca, ca marche tres bien lol:
#define LONGDEFG 5 // application de la gravité toutes les 5 cycles
#define STARTF 3 // au départ, la force verticale est de 3pixel
#define ENDJ 30 // nb de cycles pour le saut
char jact;
char forcey;
int x,y;
void jump()
{
forcey=STARTF;
for(jact=0;jact<ENDJ;jact++)
{
// on applique la gravité toute les cycles .
y+=forcey;
// effet de gravité
if (jact%LONGDECF == 0) forcey--;
// Dessin
// ca c' est ma technique :mrgreen: de double buffer !!
clear();
drawperso(x,y);
refresh();
}
}
et voila ! g fait ca a l' arrache, il est possible que ca foire dans certains cas ! (genre reglages de variables a l' arrache lool)
Hors ligne