AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -30%
LEGO Icons 10318 – Le Concorde à ...
Voir le deal
139.99 €

 

 Vitesse d'un objet qui suit un path

Aller en bas 
3 participants
AuteurMessage
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 17:05

RereBonjour,

Mon 3ième pb de la journée smack
J'utilise ces lignes de code pour que mon "lapin" trouve le chemin de la "carotte"

Code:
i=16
grid = mp_grid_create(0,0,room_width/i, room_height/i,i,i)
path=path_add()
mp_grid_add_instances (grid,barrica2,true)
mp_grid_path (grid, path, x,y,carotte.x, carotte.y,true)
path_start (path,1,"",1)

Ca marche bien sauf que je ne trouve pas le moyen de ralentir le lapin, j'ai testé les 2 moyens.
Soit directement en changeant la variable vitesse de la ligne :
path_start (path, vitesse,"",1) mais si la vitesse <1, le lapin ne bouge plus

J'ai aussi ajouté cela à la fin, idem, si <1, ça ne bouge plus.
path_speed = 0.5

Vous auriez une technique ?

Merci
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 17:16

Tu le fais qu'un step sur x, et la vitesse est divisé par x ! Par exemple pour qu'il aille deux fois moins vite, dans create :
Code:
time=0;
puis dans step :
Code:
if(time%2==0){
// ton code
}
time+=1;
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 17:51

D'accord merci !! je ne connaissais pas du tout l'utilité du % mais ça à l'air assez facile à utiliser.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 17:57

C'est un modulo (tu peux remplacer le % par mod si tu veux), ca te retourne le reste de la division entière (comme les divisions que tu faisait en primaire Yum! )
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 18:07

J'avais testé pour comprendre comment ça fonctionnait, pas de pb par contre ça ne fonctionne pas avec mon path.

Quelque soit le modulo la vitesse est la mm. En fait le path est exécuté pour calculer le meilleur chemin du lapin vers la carotte, réexécuter le path ne fait pas avancer le lapin mais recalcule le chemin vers la carotte au cas ou un nouvel obstacle serait ajouté sur le chemin. Avec le modulo le chemin lapin/carotte n'est pas calculé chaque frame mais toutes les 2 frames, la vitesse semble indépendante. Snif.

Au pire je me contente de la vitesse "1", c'est simplement que mes "tours qui ralentissent" les ennemis n'ont pas d'effet sur ces saletés de lapins Wink
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 19:06

Tu peut récupérer les points de ton path un a un et faire avancer ton personnage en fonction de leurs coordonnées.
Une fois le point récupéré tu le supprime du path, et ainsi de suite.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 20:02

Je ne vois pas du tout comment, mais en plus le path change sans cesse car le joueur pleut placer des obstacles. Je pense que je vais laisser ça comme ça sweat
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 20:06

Ça ne change rien, chaque step tu recalcule le path, et chaque step tu récupère le premier point (que tu delete) et tu te déplace en fonction de celui ci.
Une fois arrivé a destination de toute façon le path calculé seras vide.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 20:18

Ok mais j'ai vraiment aucune idée de la manière de faire cela gha
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 20:22

Après avoir calculé ton path

Code:
if(path_get_number(path) > 0)
{
    path_delete_point(path, 0)
    px = path_get_point_x(path, 0)
    py = path_get_point_y(path, 0)
   
    if(py > y) <bougerVersLeBas>
    else if(py < y) <bougerVersLeHaut>
    else if(px > x) <bougerVersLaDroite>
    else if(px < x) <bougerVersLaGauche>
}
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 22:44

Merci, bon je vais étudier ton code. Finalement ça a l'air assez clair.
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 23:25

Bon ça roule j'ai compris tes lignes de codes mais alors le script du mouvement du lapin est une usine à gaz ... et le pire c'est que ça marche pas mais faut que je reregarde à tête reposée mop

EDIT : Bon ça marche mais quelle usine à gaz juste pour un détail de gameplay. Par contre étrangement ça me provoque un bug lorsque je calcule le sens du sprite (la soustraction entre x et l'x précédent mais c'est un détail) ...
De mm avec l'ancien code les lapins allaient jusqu'au centre de la carotte, maintenant ils s'arrêtent au bord. Pas gênant mais étrange.

RE-EDIT : j'ai pigé, comme c'est tordu ! comme je ne bouge le lapin qu'une frame sur 2 avec le %2, la différence entre l'ancien x et l'actuel = 0 (car immobile) une frame sur 2
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptySam 27 Avr 2013 - 23:55

Oui car t'utilise une grille de 16x16.
Faut que tu centre les pts:
px = path_get_point_x(path, 0) - 8
py = path_get_point_y(path, 0) - 8

Edit: normal pour le %2, faut que ça englobe tout Wink

Tu peut faire genre:
time += 1

if(time%2==0) exit

<instructions>
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptyDim 28 Avr 2013 - 0:35

Pour le sens du sprite c'était assez facile
je suis passé de
if sens>0 image_xscale =-1 else if image_xscale = 1
à
if sens>0 image_xscale =-1 else if sens <0 image_xscale = 1

En ce qui concerne le centre de la carotte ... c'est un gros sprite (225*110) donc mm si je joue sur 8 pixel ça ne sera tj pas au centre ... mais ça vraiment c'est un détail qu'ils s'arrêtent au bord sachant qu'ils repartent après.

Une vidéo du truc, le logiciel de capture augmente parfois la vitesse donc normal si le jeu s'emballe Wink



Nintendo n'a qu'à bien se tenir sweat
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptyDim 28 Avr 2013 - 8:01

Franchement c'est classe ton machin happy1
Les effets visuels sont travaillés, puis avec le pathfinding de gm c'est vraiment cool, ca montre qu'en travaillant un peu et avec de la motivation, ia pas besoin d'attendre des années avant de savoir utiliser correctement gm, bravo à toi !
Revenir en haut Aller en bas
Nickeau
Utilisateur confirmé: Rang *
Nickeau


Messages : 175
Projet Actuel : Cruma Forest

Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path EmptyDim 28 Avr 2013 - 10:53

Thx Wink bon côté effet visuel là, mis à par les litres de sang mrgreen2 ... je me suis pas encore trop lancé dans les effets "spéciaux" GML, sur GM8 je trouvais ça facile, sur GMS Studio j'ai pas l'impression que ça soit aussi ergonomique.
Je trouve que ça manque de punch quand mm, faudrait que je face exploser les ennemis diable
Revenir en haut Aller en bas
Contenu sponsorisé





Vitesse d'un objet qui suit un path Empty
MessageSujet: Re: Vitesse d'un objet qui suit un path   Vitesse d'un objet qui suit un path Empty

Revenir en haut Aller en bas
 
Vitesse d'un objet qui suit un path
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ne pas draw un path si l'objet a depassé ce path
» objet qui suit le perso.
» Objet qui suit la souris
» [Résolu] Un objet suit la souris ...
» [Résolu] Objet qui suit plusieurs views

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: