AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 quelques questions après lecture de la bible de GM

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3
AuteurMessage
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 17:16

oO je savais pas ca moi... C'est spécifique à GMS ou faut le faire aussi avec GM8 ?

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

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

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 17:19

Ben ça existe depuis que le GML existe Razz

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

Messages : 2213
Localisation : Oui

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 17:29

Ah bah je viens d'apprendre un truc, je pensais qu'il se désallocalisait tout seul à la destruction de l'objet moi... Razz
Merci ^^

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 17:36

Merci beaucoup pour vos réponses, elles m'indiquent bien que je ne raisonnais pas de la bonne façon !

Bon, par contre j'essais de faire les choses bien et ça ne marche pas Sad

J'ai plusieurs gardes, avec devant eux une zone de détection.
J'ai donc placé dans un "create" du garde un :

Code:
var inst1;
inst1 = instance_create(x, y, zone_de_detection);
Du coup, tous mes gardes à la création ont la zone de détection attaché, et par conséquent, j'ai juste à positionner mes gardes dans ma room.
Par contre, mes gardes ne sont pas tous dans le bons sens au départ.
Je fais donc un "creation code" sur les instances de la room pour les remettre dans le sens que je veux au départ.
Je fais donc un :

Code:
image_angle = angle;
Seul soucis, si les gardes sont dans le bon sens, les zones elles non...
Alors dans le "stepp" des zones, je met:

Code:
image_angle = obj_garde.image_angle;
Sauf que non... ça marche pas et je ne sais pas du tout pourquoi...
Lorsque je met ce code, toutes les zones pointent vers le bas, quelque soit l'orientation du garde.
En fait, j'ai l'impression que l'angle des zones s'initialise à partir du code de création du premier garde dans la room, et est appliqué à la volé à tous les autres quelque soit leur info de création.

Alors je pense que c'est moi qui m'y prend mal au niveau raisonnement, mais je pensais pourtant que c'était un ordre de création logique...

Help... Sad
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
chopsuey
Utilisateur confirmé: Rang ***
avatar

Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 17:45

Quand tu dis image_angle = obj_garde.image_angle;

Le programme va prendre image_angle de la 1er instance créer donc toutes les zones vont avoir le même image_angle.
il faut que tu te serve de l'id de l'instance. Dans create garde:

id_detection=instance_create(x,y,detection);
id_detection.image_angle=image_angle;

_________________
Spoiler:
 
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 18:10

Ok, j'ai compris le raisonnement, et en effet c'est très logique.
Ceci-dit, je n'ai pas réussit à le mettre en application comme tu me l'as indiqué.

Dans le create de ma zone, j'ai mit:

Code:
image_angle = instance_nearest(x, y, obj_garde_fixe).image_angle;
ça permet de récupérer l'angle de l'entité la plus proche, et comme c'est nécessairement le garde, ça marche bien.
Par contre je trouve que c'est vraiment du bricolage à la vas vite quoi...

Il n'y aurait pas moyen plutôt de faire directement référence à l'instance qui appelle l'instance en cours.
un truc du genre:

Code:
image_angle = instance_appelante.image_angle;
Ce serait carrément plus propre...
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 18:11

Bah c'est ce que fais l'exemple de Chopsuey : instance_create() te retourne l'id de l'objet créé, et grâce à ca tu peux ensuite accéder à tous ses attributs, dont le image_angle Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 18:18

Oui mais je n'arrive pas à mettre cet exemple en application... :/
En fait si dans le "stepp" de ma torche, je me la ligne:

Code:
image_angle = instance_id[inst1].image_angle;
Je me retrouve avec une grosse erreur dans les dents:

Citation :
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event0
for object obj_rayon_torche_fixe:

Push :: Execution Error - Variable Get -1.inst1(100120, -1)
at gml_Object_obj_rayon_torche_fixe_StepNormalEvent_1 (line 2) - image_angle = instance_id[inst1].image_angle;
############################################################################################
Je comprends bien le principe, mais je n'arrive pas, même à l'aide de la doc, à trouver comment faire ça.
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 18:21

image_angle=inst1.image_angle Wink

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 18:34

Oui j'ai tenté aussi, mais je me ramasse:

Citation :
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event0
for object obj_rayon_torche_fixe:

Push :: Execution Error - Variable Get -1.inst1(100120, -1)
at gml_Object_obj_rayon_torche_fixe_StepNormalEvent_1 (line 2) - image_angle = inst1.image_angle;
############################################################################################
J'avoue ne plus trop savoir comment m'y prendre... :/
Désolé d'avoir les deux pieds dans le même sabot :p
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
onilink_
Modérateur
avatar

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

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 19:19

Le mieux dans ton cas est de lier la zone de vision au garde. Donc il faut que ta zone de vision ai un "pointeur" du garde en attribut.

vision = instance_create(x, y, Vision)
vision.garde = id

De cette façon dans vision tu pourras mettre (dans step)
x = garde.x
y = garde.y
image_angle = garde.image_angle

Térence68 a écrit:
Ah bah je viens d'apprendre un truc, je pensais qu'il se désallocalisait tout seul à la destruction de l'objet moi... Razz
Merci ^^
Ben oui, le instance_destroy() désalloue :b
Tout comme le changement de room si instance non persistante.

_________________
                 
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 20:19

Merci beaucoup pour vos réponses, vraiment.
J'ai un peu honte de le dire, mais ça ne marche toujours pas... Sad

En fait, la ligne:

Code:
vision.garde = id
ne passe carrément pas. Il me dit qu'il attends un nom de variable.
J'avoue comprendre le principe de tout ça, mais je multiplie les erreur quoi que je fasse, et j'ai du mal à comprends pourquoi il est si compliqué de faire appel à une instance n+1... triste2 
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
onilink_
Modérateur
avatar

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

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 20:20

vision et garde, juste comme ça, c'est pas le nom de tes objects hein?

_________________
                 
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 20:21

non, j'ai remplacé "vision" et "garde" par le nom des objets adéquat.
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
onilink_
Modérateur
avatar

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

MessageSujet: Re: quelques questions après lecture de la bible de GM   Jeu 28 Nov 2013 - 21:07

Ah ben justement c'est le soucis. En fait c'est juste sensé être des variables.
Vois vision et garde comme des pointeurs (en fait c'est des entiers qui ont juste des identifiants d'instances d'objets, pas d'objets!).

_________________
                 
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Ven 29 Nov 2013 - 9:31

Ok, merci onilink_ !
En fait, toute cette conversation m'a fait comprendre que j'étais en train de tout faire à l'envers, et c'est pour ça que je me tapais des messages d'erreur dans tous les sens.
Je m'étais mit en tête de placer graphiquement mes instances sur ma room, et après je galérais comme un débile à tenter de retrouver les ID, ce que je n'arrivai bien sûr jamais à faire...
Je crois que j'ai passé un bon cap là pour le coup! Smile

Maintenant je place juste mes objets immobiles sur la scène, et point barre. Pour le reste, je créer un objet spécial pour toutes mes créations d'instance et mes contrôler, je le place à côté de la scène et je déclare tout là dedans.
Je n'ai plus aucun personnage physique au final sur ma scène. Juste des objets bien rangés dans ma bibliothèque, et auquel je fais appel en GML lors de la création de la room pour les placer où je veux, et pour déclarer leur comportement.

En fait pour vous ça doit paraître méga logique, mais ça ne l'était pas pour moi jusque là^^
Comme je le disais, avoir une interface graphique c'est bien pour certaines choses, mais personnellement ça a tendance à gravement m'embrouiller. J'étais en train de mélanger objets et instances, une connerie que je n'aurai jamais fait en code pure. Alors que c'est pourtant le truc le plus évident du monde...

Quoi qu'il en soit, j'ai enfin eu le déclic, et j'ai tout repris dans le bon ordre, et là miracle, tout marche parfaitement. Bien entendu, tout ce que vous me disiez depuis plusieurs postes est parfaitement exact (même si je n'en ai évidemment jamais douté), et trouve sa place naturelle dans tout ça.
Finalement plus ça va, et plus je fais absolument tout en GML. C'est tellement plus simple et naturel au bout du compte :/

Par contre, est-ce que quelqu'un aurait de bons tutos sur l'utilisation des timeline en GML?
Parce que la doc à ce niveau est plus que radine: http://gamemaker.info/fr/manual/403_07_timing
J'ai pas pour habitude de critiquer l'aide gratuite, mais là le chapitre est carrément vide quoi...
J'ai tenté de chercher un peu partout, y compris dans l'aide du soft, j'ai quelques fonction et variables, mais je ne sais pas du tout comment m'en servir...
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Dim 8 Déc 2013 - 15:23

Hello à tous!
Nouveau petit problème de mon côté...

Je m'explique rapidement et clairement (je vais tenter!):

mon personnage lance un projectile, et lorsque celui-ci explose en touchant un mur, le perso se téléporte automatiquement à la position de l'explosion.
Mon système marche bien, sauf qu'il y a un petit soucis bien évidemment.
La boîte de collision de mon projectile est plus petite que celle de mon personnage. Si bien que lorsque mon perso prend les coordonnées de l'impact, il se retrouve complètement glitché dans le mur, et la téléportation foire.

Jusque là, je n'ai vraiment trouvé aucune solution réellement fiable à 100%. J'ai tenté de réaligné le personnage sur une grille de 64x64, sauf que ça marche une fois sur deux car la plupart du temps, il prendre la ligne dans le mur. Et si j'augmente la taille de la grille, je n'ai plus aucune précision sur la téléportation.
En fait, le plus simple serait de chercher la zone libre la plus proche de l'impact. Mais je n'ai trouvé aucune fonction permettant de faire ça...

Est-ce que par hasard vous auriez une solution miracle à ce soucis? rire2 
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
GrandeLangue
Bonne participation
avatar

Messages : 77
Localisation : Lille
Projet Actuel : Faire des maths

MessageSujet: Re: quelques questions après lecture de la bible de GM   Dim 8 Déc 2013 - 16:26

Le plus simple serait de modifier le masque de collision pour qu'il fasse la même taille que celui du personnage (tout en laissant ton sprite identique). Mais si tu n'aimes pas cette solution (puisque le projectile ne touchera pas réellement le mur quand il explosera), tu peux faire un move_outside_solid(dir, maxdist) pour te sortir du mur (la direction est celle de ton mur au centre de l'explosion, donc fais en sorte de calculer la direction avant de détruire ton objet explosion Wink).

_________________
Un superbe jeu de plateforme où vous pouvez contrôler le temps ici : TimeBoy

Pour maîtriser les pistons dans Minecraft : http://www.youtube.com/MindcraftMax
Project Spark est mort, vive Project Spark ! Top 25 des créations qui ont été réalisées avec ce moteur de création de jeu depuis sa sortie, avant que les serveurs n'aient été arrêtés : https://www.youtube.com/watch?v=nPenVqIcFgc
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Dim 8 Déc 2013 - 19:29

En fait, ce n'est pas tellement que je ne veux pas augmenter la boîte de collision de mon projectile, c'est surtout que je ne peux pas.
En réalité, ce projectile va effectuer plusieurs rebonds, un peu à la manière d'une boule billard, avant d'atteindre sa cible. Le joueur doit viser précisément entre des objets et calculer des trajectoires. Si la boîte de collision est plus grande que la balle, ça fausse tout.

J'ai un peu tenté avec le move_outside_solid, mais ça ne donnait rien de très concluant. A mon avis, je dois en effet calculer la provenance de la balle. Mais comme celle-ci résulte de moultes rebonds, c'est un peu la galère. D'où mon désarroi face ce problème :p
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: quelques questions après lecture de la bible de GM   Dim 8 Déc 2013 - 22:32

Nop, c'est pas important, c'est seulement la dernière direction qui compte. Tu met en argument dir la valeur que te retourne point_direction avec les coordonnées du mur le plus proche du héros et de ce dernier... (par contre je sais pas si c'est bien clair x) )

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
chopsuey
Utilisateur confirmé: Rang ***
avatar

Messages : 523
Localisation : saint etienne
Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...

MessageSujet: Re: quelques questions après lecture de la bible de GM   Lun 9 Déc 2013 - 11:59

dans l'évènement de collision du projectile avec le mur:

Code:
angle=point_direction(x,y,obj_joueur.x,obj_player.y)
obj_joueur.x=x
obj_joueur.y=y
with obj_joueur
{
while not place_free(x,y)
{
x+= lengthdir_x(1,obj_projectile.angle)
y+= lengthdir_y(1,obj_projectile.angle)
}}
instance_destroy()

Tu récupères l'angle (la direction) dans la variable angle entre le projectile et le joueur.
Puis tu places je joueur à la position du projectile.
Tu lances une boucle dans l'objet joueur pour le déplacer pixels par pixels en direction de l'angle pré calculé jusqu'à qu'il ne soit plus en collision avec le mur, et tu détruit l'objet projectile.

_________________
Spoiler:
 
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Dim 15 Déc 2013 - 13:25

Merci beaucoup pour vos réponses chopsuey, Térence68, et GrandeLangue. Grâce à vous, j'avance plutôt bien dans mon jeu ! Smile
C'est chouette d'avoir autant de réponses, car ça me permet d'avoir plusieurs solutions et de mixer à ma sauce pour me dépatouiller.
Sans vous, j'aurai bien du mal à avancer!

Sinon j'ai une autre petite question:
J'aimerai créer une instance devant le joueur et non pas à sa position. La petite difficulté, c'est que le joueur tourne sur lui même selon la position du curseur (vue de dessus). Si bien qu'il faudrait que je récupère des coordonnées en temps réel, et qui se situent entre le joueur et le curseur, et un peu devant le joueur.
J'ai pensé à utiliser un point_direction, sauf que c'est un angle que je récupère... alors que ce qu'il me faudrait, c'est plutôt un x et un y...

Bref, là je sèche bien comme il faut... :/
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
onilink_
Modérateur
avatar

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

MessageSujet: Re: quelques questions après lecture de la bible de GM   Dim 15 Déc 2013 - 13:33

Trigo, toujours et encore :b

instance_create(x + lengthdir_x(rayon, direction), y + lengthdir_y(rayon, direction), object)

_________________
                 
Revenir en haut Aller en bas
Black_cat
Bonne participation
avatar

Messages : 71
Projet Actuel : https://www.youtube.com/playlist?list=PLrJ_sOwnC_FmBql7bimmXplsVcyDbZCVh

MessageSujet: Re: quelques questions après lecture de la bible de GM   Dim 15 Déc 2013 - 13:52

Génial onilink_, ça marche en effet parfaitement, j'avais complètement oublié cette fonction! Smile
Merci beaucoup !!
Revenir en haut Aller en bas
https://www.youtube.com/user/sundayindiegames
Contenu sponsorisé




MessageSujet: Re: quelques questions après lecture de la bible de GM   

Revenir en haut Aller en bas
 
quelques questions après lecture de la bible de GM
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 3 sur 3Aller à la page : Précédent  1, 2, 3
 Sujets similaires
-
» La lecture de la Bible un remède contre la déprime
» Fausse couche : questions après fausse couche
» Nouvelle sur ce forum, quelques questions sur les mutations
» quelques questions au sujet de la déclaration
» Quelques questions

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: