Gamemaker studios 2/GML: Comment effectuer une action en une seul frame ??
MyBlueBird
Messages postés
4
Statut
Membre
-
MyBlueBird Messages postés 4 Statut Membre -
MyBlueBird Messages postés 4 Statut Membre -
Bonjour :3 , alors voila:
Cela fait depuis peu de temps que je me suis mis à utiliser le GML sur Game maker. Je me trouve confronter à un problème qui bloque toute la suite de mon travail ! Je n'arrive pas a executer une action en une seul frame..
Pour vous donner un exemple, je veut faire en sorte que si la variable (que j'ai crée au préalable, global.Attaque_J1) est égale à 1 alors la vie du joueur 2 (global.Vie_J2) est diminuer de 1. Pour crée cette condition j'ai placé dans l'évènement Create:
if global.Attaque_J1 = 1
{
global.Vie_J2 -= 1
}
Se qui fait que la condition est pris en compte seulement au lancement de l'objet et donc pas lorsque le joueur 1 attaque. J'ai essayer de placer cette condition dans l'évènement Step/Step cette fois. Ici l'action est certes tout le temps demander jusqu'au moment de l'attaque mais lorsque la condition est remplie elle diminue de 1 a l'infinis (a chaque frames) la vie du joueur 2 sans s'arrêter !
J'ai aussi essayer de placer cette condition dans un script qui n'est demander qu'a la fin de chaque tour, mais ici aussi le script n'est même pas prie en charge étant donner que le joueur n'a qu'une frame pour attaquer.
Enfin bref, ma démarche n'est pas bonne et même en essayant d'autre moyen je n'y parviendrais pas. Je m'en remet à vous, aider moi s'il vous plaît :c .
Merci d'avance !
Cela fait depuis peu de temps que je me suis mis à utiliser le GML sur Game maker. Je me trouve confronter à un problème qui bloque toute la suite de mon travail ! Je n'arrive pas a executer une action en une seul frame..
Pour vous donner un exemple, je veut faire en sorte que si la variable (que j'ai crée au préalable, global.Attaque_J1) est égale à 1 alors la vie du joueur 2 (global.Vie_J2) est diminuer de 1. Pour crée cette condition j'ai placé dans l'évènement Create:
if global.Attaque_J1 = 1
{
global.Vie_J2 -= 1
}
Se qui fait que la condition est pris en compte seulement au lancement de l'objet et donc pas lorsque le joueur 1 attaque. J'ai essayer de placer cette condition dans l'évènement Step/Step cette fois. Ici l'action est certes tout le temps demander jusqu'au moment de l'attaque mais lorsque la condition est remplie elle diminue de 1 a l'infinis (a chaque frames) la vie du joueur 2 sans s'arrêter !
J'ai aussi essayer de placer cette condition dans un script qui n'est demander qu'a la fin de chaque tour, mais ici aussi le script n'est même pas prie en charge étant donner que le joueur n'a qu'une frame pour attaquer.
Enfin bref, ma démarche n'est pas bonne et même en essayant d'autre moyen je n'y parviendrais pas. Je m'en remet à vous, aider moi s'il vous plaît :c .
Merci d'avance !
A voir également:
- Gamemaker studios 2/GML: Comment effectuer une action en une seul frame ??
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp 2 - Guide
- Gta 6 trailer 2 - Guide
Il faudrais un evenemts qui soir une condition en lui meme du genre, si la condition est vraie alors effectuer l'action sinon, ne rien faire.
C'est d'ailleurs se que je voudrais faire, crée un objet Action_1_J1 qui resterait toujours dans la salle puis lui demander de crée en x0,y0,z0 un objet Action_2_J1 possédant l'instance Pas/Pas avec comme ligne de code:
if global.Ready_J1 = 1 & global.Ready_J2 = 1
{
instance_create(0,0,0,obj_Attaque_J1)
instance_destroy(obj_Action_1_J1)
}
Se qui supprimeras instantanément ce même objet en en créant un autre (obj_Attaque_J1 en x0,y0,z0) puis de mettre dans l'objet Attaque l'instance Create qui execute instantanément le code:
global.VieJ1 = global.VieJ1 - 1
global.Ready_J1 = 0 & global.Ready_J2 = 0
instance_create(0,0,0,obj_Action_1_J1)
instance_destroy(obj_Attaque_J1)
Normalement sa devrais marcher mais je suis sur et certain qu'il existe une méthode bien plus simple que d'avoir a crée un objet qui lui même en crée un autre après la condition remplis pour s'auto-détruire et laisser le nouveau attaquer puis recrée l'ancien et s'auto-détruire à son tour !
Quel galère -_-"
On ne doit pas parler de la même chose....
Voilà un tuto pour apprendre à utiliser le débbogueur de Visual Studio
https://openclassrooms.com/fr/courses/1526901-apprenez-a-developper-en-c/2867766-utilisez-le-debogueur
C'est pas ton IDE, certes, mais ça explique les principes de base, dont le point d'arrêt et l'exécution en pas à pas, espionner les variables etc...