| | Acquisition d'armes au cours du jeu | |
| | Auteur | Message |
---|
Mray Très bonne participation
Messages : 111
| Sujet: Acquisition d'armes au cours du jeu Mar 25 Oct 2011 - 19:11 | |
| Hello, J'ai crée différents objet ( un objet de mon personnage pour chaque arme ) et bien entendu pour que le personnage ait une arme, il faut qu'il l'a trouve, j'ai donc crée aussi un objet pour chaque arme, puis par exemple dans mon objet player sans arme j'ai fais ceci : Dans son step: - Code:
-
// ARME0 if ( place_meeting(x,y,arme0) && keyboard_check_pressed(vk_enter) ) { with other instance_destroy() instance_change(obj_player_arme0,true) } Si il est en contact de arme0 et que entrer est pressé alors Je détruis l'arme au sol ( logique ) puis change l'instance par une autre ( obj_player_arme0 ) tout en effectuant les actions destroy et create ( true ). Le code ( selon moi ) est correct et devrait marcher mais quand je le test, quand je ramasse l'arme, tout les objets ( armes/personnage ) disparaissent, j'ai pensé que ça venait du with other instance_destroy() mais comment faire pour que cela s'applique uniquement à l'arme ? J'ai essayé instance_nearest : - Code:
-
// ARME0 arme0pres = instance_nearest(x,y,arme0) if ( place_meeting(x,y,arme0) && keyboard_check_pressed(vk_enter) ) { with arme0pres instance_destroy() instance_create(x,y,arme1) instance_change(obj_player_arme0,true) }
// ARME1 arme1pres = instance_nearest(x,y,arme1) if ( place_meeting(x,y,arme1) && keyboard_check_pressed(vk_enter) ) { instance_change(obj_player_arme1,true) } Mais quand j'essaye de passer d'une arme à une autre ça change plus d'objet, et la je vois pas du tout d'ou ça viens... De l'aide ? |
| | | marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: Acquisition d'armes au cours du jeu Mar 25 Oct 2011 - 23:05 | |
| bon je suis pas très calé en gml mais il faut récupérer l'ID de l'instance que tu veux détruire. inspire toi de ça: if place_meeting(x,y,object0){ a=instance_place(x,y,object0) with (a) instance_destroy() } ça à l'air de fonctionner chez moi, remplace object0 par ton arme |
| | | Mray Très bonne participation
Messages : 111
| Sujet: Re: Acquisition d'armes au cours du jeu Mer 26 Oct 2011 - 0:23 | |
| Merci de ton poste, ça m'avance un peu mais que sur une arme, donc déjà voici mon code: Player sans arme: - Code:
-
// OBJET obj_player // // // // //
// ARME0 arme0pres = instance_place(x,y,arme0) if ( place_meeting(x,y,arme0) && keyboard_check_pressed(vk_enter) ) { with (arme0pres) instance_destroy() instance_change(obj_player_arme0,true) }
// ARME1 arme1pres = instance_place(x,y,arme1) if ( place_meeting(x,y,arme1) && keyboard_check_pressed(vk_enter) ) { with (arme1pres) instance_destroy() instance_change(obj_player_arme1,true) } Player Arme0: - Code:
-
// OBJET obj_player_arme0 // // // // //
// ARME1 arme1pres = instance_place(x,y,arme1) if ( place_meeting(x,y,arme1) && keyboard_check_pressed(vk_enter) ) { with (arme1pres) instance_destroy() instance_create(x,y,arme0) instance_change(obj_player_arme1,true) } Player Arme1: - Code:
-
// OBJET obj_player_arme1 // // // // //
// ARME0 arme0pres = instance_place(x,y,arme0) if ( place_meeting(x,y,arme0) && keyboard_check_pressed(vk_enter) ) { with (arme0pres) instance_destroy() instance_create(x,y,arme1) instance_change(obj_player_arme0,true) } Donc, je commence avec player sans arme, je me dirige vers l'arme0 ( qui est au sol ) je la ramasse, l'arme au sol disparait et mon objet player arme0 apparait, tout va, je me dirige vers arme1 pour test, mais nan, arme1 reste au sol et se dé-double à chaque test oO Alors que si je commence avec arme1 et que je me dirige vers arme0 ça marche, alors que c'est exactement le même code dans l'objet player_arme0 et player_arme1, je comprends pas oO |
| | | Mray Très bonne participation
Messages : 111
| Sujet: Re: Acquisition d'armes au cours du jeu Mer 26 Oct 2011 - 19:56 | |
| J'ai essayé de faire ça coté armes: Dans le step de mon arme0: - Code:
-
// PLAYER player_pres = instance_place(x,y,obj_player) if ( place_meeting(x,y,obj_player) && keyboard_check_pressed(vk_enter) ) { with player_pres instance_change(obj_player_arme0,true) instance_destroy() }
// PLAYER ARME1 player_arme1_pres = instance_place(x,y,obj_player_arme1) if ( place_meeting(x,y,obj_player_arme1) && keyboard_check_pressed(vk_enter) ) { with player_arme1_pres instance_change(obj_player_arme0,true) instance_change(arme1,true) } Arme1: - Code:
-
// PLAYER player_pres = instance_place(x,y,obj_player) if ( place_meeting(x,y,obj_player) && keyboard_check_pressed(vk_enter) ) { with player_pres instance_change(obj_player_arme1,true) instance_destroy() }
// PLAYER ARME1 player_arme0_pres = instance_place(x,y,obj_player_arme0) if ( place_meeting(x,y,obj_player_arme0) && keyboard_check_pressed(vk_enter) ) { with player_arme0_pres instance_change(obj_player_arme1,true) instance_change(arme0,true) } Tout me semble logique et pourtant ça ne fonctionne pas |
| | | PsycKho Très bonne participation
Messages : 154 Projet Actuel : http://www.sharedojo.netai.net/
| Sujet: Re: Acquisition d'armes au cours du jeu Dim 27 Nov 2011 - 0:00 | |
| J'ai du mal à suivre la logique de ton script... ._. Pourquoi tu fais pas juste un array pour l'inventaire, et pour l'arme au sol un simple changement de variable, puis d'afficher l'arme à partir du joueur en draw? Ça serait plus simple non? Ou alors j'ai raté un truc, désolé. |
| | | Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Acquisition d'armes au cours du jeu Dim 4 Déc 2011 - 10:28 | |
| Bonjour, voici mon code écrit en deux minutes, il y a peut-être des erreurs de frappe, mais dans le principe ça doit fonctionner correctement. Il faut mettre le tout dans le STEP de ton PLAYER, et tu n'a besoin que d'un seul objet player, c'est seulement le sprite qui change pas l'objet. - Code:
-
arme_id = false;
if ( place_meeting(x,y,obj_parent_arme) && keyboard_check_pressed(vk_enter) ) arme_id = instance_place(x,y,obj_parent_arme); switch arme_id.object_index{ case obj_arme0 : sprite_index = spr_player_arme0 ; break; case obj_arme1 : sprite_index = spr_player_arme1 ; break; case obj_arme2 : sprite_index = spr_player_arme2 ; break; }
if ( arme_id ) with (arme_id) instance_destroy(); |
| | | Contenu sponsorisé
| Sujet: Re: Acquisition d'armes au cours du jeu | |
| |
| | | | Acquisition d'armes au cours du jeu | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |