Et bien bonjour j'ai un gros souçis, j'aimerais le régler pour faire mon IWKTH qui est posté plus bas
Je n'arrive à faire le saut de mon personnage à la IWKTG
Dans la création de mon personnage j'ai écris ça : gravitySpeed=1
movespeed=6
jumpSpeed=14
Dans le Step de mon personnage j'ai écris ça : if place_free(x,y+1) then { if place_free(x,y+3) gravity = gravitySpeed; gravity_direction = 270; } else { gravity = 0; if keyboard_check(vk_space) and place_free(x,y-4) then { vspeed = -jumpSpeed; } }
Et je n'arrive toujours pas à sauter une solution ?
Et aussi j'aimerais faire tomber de la pluie en répétition comment faire ?
http://fr.sourcepod.com/qmlsbt43-20329
Faudra que tu modifies des truc comme le nom des sprites des objets, ou des valeurs dans le create.
c'est quoi éxactement
Ben c'est juste un petit moteur de plateforme. Recopies le et tu auras un perso qui court et saute et arrête d’avancer contre les murs.
Sinon juste pour ton problème de gravité t'a juste besoin de ça:
http://fr.sourcepod.com/rtjchm14-20333
"Faudra que tu modifies des truc comme le nom des sprites des objets, ou des valeurs dans le create" par exemple ?
Sprite_index ?
Je dois enlever mes touches prédéfinie par exemple Espace
Il programme tout seul la barre Espace ?
Sinon mon perso principal s'appelle guy si tu veux me mettre un exemple
Pour la gravité elle n'est pas inclue dans le code que tu m'as envoyé ?
télécharge ça ce serra plus simple:
http://www.mediafire.com/download/u5o6552k4oxyy9l/pf+%282%29.gmk
C'est un exemple de plateforme avec le même code que je t'ai envoyé.
Plus des explications à coté de chaque lignes.
Là où tu vois spr_jump, spr_stop, spr_run. remplaces tous ça par le nom de ton sprite correspondant. pas la peine de faire un sprite gauche et un sprite droite, le programme s'occupe retourner l'image sur son axe. Fais simplement un sprite de saut un sprite de déplacement et un sprite à l’arrêt, tous tournés vers la droite. Et places le point d'origine du sprite au centre de ton personnage.
Okay je crois que j'ai compris sinon si je veux faire que mon personnage à un sprite pour courir à droite et à gauche
Et comment puis-je fais en sorte qu'une action définie recommence tout le temps ( exemple la pluie )
"sinon si je veux faire que mon personnage à un sprite pour courir à droite et à gauche "
Tu veux dire si tu veux qu'il n'ai pas la même apparence à gauche et à droite ce qui nécessiterai d'avoir deux sprites bien distinct ? Si c'est ça ben tu supprimes tous le image_xscale et à la fin du code tu remplace: http://fr.sourcepod.com/mteiol90-20336
par ça: http://fr.sourcepod.com/pxxztn19-20337
"Et comment puis-je fais en sorte qu'une action définie recommence tout le temps ( exemple la pluie ) "
Utilises des alarmes.
Vraiment merci pour ton aide j'ai fais éxacgtement ce que tu m'as dis et j'ai fini par avoir un personnage bugé
J'ai fais ça :
if place_free(x,y+1) // si la place est libre en y+1 (un pixel vers le bas)
{gravity=2} // alors la gravité = 2
else
{gravity=0} //sinon gravité = 0
if D==1 // si D =1, quand D=1 le perso est tourné vers la droite
{
image_xscale=1;image_speed=(vd/12)+0.05 //alors l'image est tourné vers la droite, et la vitesse du sprite = vitesse droite divisé par 12 + 0.05
// ainsi l'animation du sprite se fait en fonction de la vitesse du perso, plus le perso vas vite et plus le l'animation accelère. +0.05 sert à ne pas partir
//de 0 afin de ne pas avoir une image fixe trop longtemps quand on commence à courir.
for (i=0;i<vm;i+=1) // toujours si D=1, on fait une boucle "for" pour tester les collisions pixel par pixel. Il faut bien comprendre que ce qui va suivre
// ne se passe que en l'espace d'un step, le programme va effectuer une suite d'actions qui vont à la fin du step donné un résulta final.
// si i n'est pas plus grand que vitesse max on ajoute 1 à i et on exécute ce qui suit entre les { }
// dès que i n'est plus plus petit que vm alors la boucle s'arrète puis recommence à 0 le step d'après.
// donc vm=4 et i en début de boucle = 0, 2eme cycle de la boucle i=1 donc i n'est pas plus grand que vm alors on ajoute 1 à i et on peut executer ce qui
// se trouve entre les { } on teste si la place est libre en x+1 et si c'est le cas on ajoute à x vitesse droite divisé par vitesse max.
// 3eme cycle pareil on peut ajouter 1 à i car i = 2 donc à présent i = 3 et on rajoute à nouveau à x vd/vm
// 4eme cycle même chose
// 5eme cycle i=4 donc i n'est pas plus petit que 4 la boucle s'arrete
// concrètement si par exemple le perso est à l'arret que l'on appuis sur la touche droite alors (voir plus bas dans le code) on ajoute acc (acceleration)
// à vd donc vd = 0.4 (voir event create) alors 1er cycle on ajoute à x 0.4/4 soit 0.1 à condition que la place soit libre en x+1
// il y a 4 cycles donc à la fin de la boucle x+=0.4 le perso va donc avancer de 0.4 pixel pendent ce step, le step suivant il avancera de 0.8 pixels.
{
if place_free(x+1,y)
{x+=vd/vm}
}
}
if D==0 // même chose mais pour la gauche
{
image_xscale=-1;image_speed=(vg/12)+0.05 // quand image_xscale = -1 le sprite s'inversse sur son axe donc le perso est tourné vers la gauche
for (i=0;i<vm;i+=1)
{
if place_free(x-1,y)
{x-=vg/vm}
}}
if keyboard_check(vk_right)&& !keyboard_check(vk_left) // si la touche droite est enfoncée mais pas la touche gauche
// le "!" sgnifi une négation, on peut aussi écrire "not", le "&&" signifi "et" on peut aussi l'ecrire "and"
{vd+=acc;D=1} //alors on à vd acc soit 0.4 (voir event create) et D=1
else
{vd-=dec} // si une des 2 condition n'est pas respecté alors on retire à vd dec soit 0.6
if keyboard_check(vk_left)&& !keyboard_check(vk_right) // même chose pour la gauche
{vg+=acc;D=0}
else
{vg-=dec}
// ici on va déterminer les limites des variable vd et vg
if vd>vm{vd=vm} // si vd est plus grand que vm (4) alors vd=vm. Ainsi vd ne dépassera jamais 4
if vg>vm{vg=vm}
if vd<0{vd=0} // si vd est plus petit que 0 alors vd=0 donc vd ne serra jamais plus petit que 0
if vg<0{vg=0}
if !place_free(x,y+1)
{
if keyboard_check(vk_up)
{vspeed=-12}
if vg<=0 && vd<=0
{
if D==0{sprite_index=spr_stop_gauche}
if D==1{sprite_index=spr_stop_droite}
}
if vg>0 || vd>0
{
if D==0 {sprite_index=spr_run_gauche}
if D==1 {sprite_index=spr_run_droite}
}
}
else
{
if D==0 {sprite_index=spr_jump_gauche}
if D==1 {sprite_index=spr_jump_droite}
}
if !place_free(x-1,y)||!place_free(x+1,y)&& !place_free(x,y+1)
{
if D==0 {sprite_index=spr_stop_gauche}
if D==1 {sprite_index=spr_stop_droite}
}
Pour les alarmes tu peux me donner un exemple pour la pluie ?
Et dernière chose vus que tu as l'air de t'y connaitre comment je peux faire bouger mon boss de gauche à droite sans utiliser le "Move Toward" ?
J'ai bien sûr mis les sprite "spr_run_gauche,spr_jump_gauche,spr_stop_gauche"
Il faut que tu supprimes tous les image_xscale que tu vois (plus le " = " et la valeur qui vient juste après bien sûr) image_xscale c'est une variable qui détermine la taille en x du sprite.
Par défaut elle est = à 1. Quand elle est = à 1 le sprite fait sa taille réel si elle est = à 2 le sprite est 2 x plus gros, = à 0 le sprite est si réduit en x qu'il devient invisible puis si elle est = à une valeur négative c'est la même chose mais l'image serra retourné sur son axe comme un effet miroir, tous est inversé.
Donc dans le 1er code que je t'ai passé c'est image_xscale qui décide si le perso est tourné vers la gauche ou vers la droite: gauche = -1 droite = 1.
Donc tu n'as besoin que d'un sprite tourné vers la droite. Mais toi tu veux utiliser 2 sprites différents donc il faut supprimer tous les image_xscale qui ne servent plus à rien.
Mais pourquoi tu ne veux pas te servir d'un seul sprite ? Ton perso n'as pas la même apparence pour la gauche et la droite ??
exemple de pluie :
http://www.mediafire.com/download/hkrkyydo10xp43h/pluie.gmk
"Et dernière chose vus que tu as l'air de t'y connaitre comment je peux faire bouger mon boss de gauche à droite sans utiliser le "Move Toward" ? "
et ben tu modifies la variable "x" dans le step. X c'est la variable qui renvoie la position de ton personnage en x dans la room. Donc si tu mes x+=2 dans le step ton boss se déplacera de 2 pixels tous les steps donc 30 fois en une seconde (si ta room est réglée à 30 fps) Donc en une seconde le boss aura parcouru 60 pixels vers la droite. Pour aller vers la gauche ben même chose mais en négatif "x-=2"
exemple pluie:
http://www.mediafire.com/download/hkrkyydo10xp43h/pluie.gmk
Alors j'ai supprimé tout les imagex_scale et j'ai donc enlever le = puis le 1 et enfin le ;
Ouai mais le jeu se lance je vois l'animation qui marche une fois sur deux car je rentre dans les murs
Sinon merci pour t'as pluie je vais m'en servir
Je pourrais discuter avec toi vià skype par exemple ?
Sinon si je veux rajouter une animation pour mon boss que me conseilles-tu de faire ?
Est ce que tu te sers bien de cubes solide pour faire ton sol et tes murs comme dans l'exemple que je t'ai envoyé ?
Envoie moi ton jeu avec mediafire.
J'ai pas skype, mais tu peux m'envoyer des mp.
Voici mon jeu si t'y arrive : http://www.mediafire.com/download/hxv0h9j5sgew1ov/IWKTH.gb1
heeuuu, tu m'as juste renvoyé mon moteur de plateforme là. ![]()
Tu m'as envoyé un .gb1 c'est peut etre pour ça. Renvoie moi le .gmk
Oups pardon : http://www.mediafire.com/download/94o1ay02be0tvvk/IWKTH.gmk
Je vais utiliser ton moteur de platforme puis le modifier
A au faite désolé du triple poste mais en faite vus que le jeu s'appelle I Wanna Be The Hero j'aimerais lui donner des pouvoirs styles un double sauts puis un triple ect ...
Comment je pourrais faire ça par exemple plus de vitesse en appuyant sur une touche...