Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Soucis sauvegarde Mer 13 Aoû 2014 - 17:52 | |
| EDIT: J'ai résolu le problème à ma manière, j'ai fais le mask des ennemis plus petits et un simple bounce, vu qu'ils se chevauchent que de quelques pixel ça fait un effet pas trop dégueu Mais j'ai une autre question, j'utilise le système de sauvegarde de base de Game Maker ( je sais c'est mauvais mais j'ai du mal à comprendre comment en faire un soi même ), jusqu'à maintenant tout fonctionnait mais j'ai constaté que si je sauvegarde dans la room A et que je reload le jeu m'affiche la couleur du background sur l'écran ( plus de jeu juste le background ) alors que le système de sauvegarde peu fonctionner dans la room B, alors que toutes les deux on les mêmes propriétés et pas d'items qui pourrait altérer les saves // Ancien problème Bonjour, J'ai fais une IA pour mes ennemis, elle fonctionne mais quand il y a plusieurs ennemis, et qu'il se mettent tous à me suivre les collisions me font quelques soucis, ils se coincent les uns dans les autres et puis ne bougent plus Pour le code de l'IA j'ai fais : - Code:
-
if ( instance_exists(obj_player) ) { if ( distance_to_object(obj_player) <= 256 and !collision_line(x,y,obj_player.x,obj_player.y,obj_wall,false,false) ) { friction = 0 motion_add(point_direction(x,y,obj_player.x,obj_player.y),0.4) if ( speed >= 2.5 ) { speed = 2.5 } } } Et pour les collisions inter-ennemis j'ai fais : - Code:
-
move_bounce_all(true) if speed >= 2 then speed /= 2 Malheureusement ça fonctionne pas ( quand y en a 2 ou 3 ça va mais plus de 5 ça commence à buguer sévère ) Pour les ennemis j'ai pas cocher solid ( fin que je le coche ou pas ça change rien au problème ) J'ai pensé que dans l'ia je pourrais mettre un place_meeting mais je sais pas trop comment le caser dans le code ( vu que le motion_add pointe le player ) Quelqu'un peut m'aider ? EDIT : J'aimerais aussi ne pas retirer le code de collisions inter-ennemi pour qu'on puisse les voir tous et pas qu'ils se chevauchent les uns les autres EDIT 2 : J'ai essayé à la barbare et de mettre : - Code:
-
if ( distance_to_object(obj_player) <= distance_view and !collision_line(x,y,obj_player.x,obj_player.y,obj_wall,false,false) and !place_meeting(x+space,y,obj_ennemi) and !place_meeting(x-space,y,obj_ennemi) and !place_meeting(x,y+space,obj_ennemi) and !place_meeting(x,y-space,obj_ennemi) ) space = 4 Ils se bloquent plus entres eux mais ça fait quand même des collisions entres eux pas très smoothie EDIT 3 : Erf, avec autant de conditions ça engendre un nouveau problème, si y a un ennemi qui se trouve trop près d'un autre ( moins que la variable space ) les ennemis perd le focus du joueur ( logique )
Dernière édition par Mamie Wawa le Jeu 14 Aoû 2014 - 2:11, édité 3 fois |
|
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: Soucis sauvegarde Mer 13 Aoû 2014 - 20:13 | |
| Un truc qui marche bien à la place de bounce c'est que à la collision s'éloignent les uns des autres si possible.
(soit avec un step_direction avec vitesse négative, ou déplacer en bougant en lenghtdir_x et lenghtdir_y tant qu'ils se chevauchent, mais tout en évitant de rentrer dans un mur)
Perso j'utilisais juste un rayon de distance (parce que mes ennemis étaient ronds).
Ca les ralentis un peu si s'éloigner les un des autres s'oppose à la direction vers laquelle ils vont. |
|
Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Re: Soucis sauvegarde Mer 13 Aoû 2014 - 20:32 | |
| Oui mais j'ai peur que si j'utilise step_direction avec une vitesse négative à la collision entre eux, bah ça va justement faire un gros bordel dans l'ia ( si y a 2 ennemi qui se rentre dedans et qu'à la collision ça doit les séparé bah ça va les séparer et plus faire follow le joueur ) Fin bref c'est casse-tâte |
|
Mamie Wawa Très bonne participation
Messages : 112
| Sujet: Re: Soucis sauvegarde Mer 13 Aoû 2014 - 20:59 | |
| Dans la collision entre eux j'ai essayé : - Code:
-
mp_potential_step(other.x,other.y,-1,true) Mais quand ils se rentrent dedans il font des cercles et de temps en temps ils se séparent, c'est pas vraiment concluant :s EDIT: J'ai essayé - Code:
-
inst = instance_nearest(x,y,obj_ennemi) motion_add(-inst.direction,1) Ça marche à peu près, une fois sur deux, ça fait genre un switch entre les deux ennemis ( l'effet est surprenant mais enfaites c'est pas trop mal ) mais une fois sur deux comme dit ils reste bloqué les deux ensembles EDIT : J'ai encore essayé : - Code:
-
other.direction -= direction inst = instance_nearest(x,y,obj_ennemi) motion_add(-inst.direction,-1) Quand y a juste 2 ennemis ça va, le rendu est pas mal mais quand y a plus de 2 ça fout le bordel, ils se rentrent dedans (avec le temps et le focus sur le player perdu ça se régle mais c'est pas l'effet rechercher ) et ils ont des gros pick de speed ( quand ils se séparent les deux se font éjecter à l'autre bout de la map ) |
|
Contenu sponsorisé
| Sujet: Re: Soucis sauvegarde | |
| |
|