AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Personnage bloqué dans le mur

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
RegelePisicilor
Pas mal
avatar

Messages : 34
Projet Actuel : Du shoot, du shoot et encore du shoot!

Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!

MessageSujet: Personnage bloqué dans le mur   Sam 16 Juil 2016 - 7:55

Bonjour à tous,

j'ai un petit soucis à savoir que dans un top down les personnages sont censés voir leur progression stoppée quand ils entrent en collision dans un mur, or si jusque là ça marche, je dirai que ça même un peu trop bien..!

En fait quand le personnage entre en collision avec le mur, une partie de quelques pixels rentre carrément dans le mur et là plus moyen effectivement d'effectuer un quelconque déplacement.

Je voudrais que le perso soit stoppé dès qu'il touche le mur sans rentré carrèment dedans.

Est ce que vous savez à quoi cela peut être dû et comment régler ça?

Merci d'avance pour votre aide!


Dernière édition par RegelePisicilor le Sam 16 Juil 2016 - 8:39, édité 2 fois
Revenir en haut Aller en bas
RegelePisicilor
Pas mal
avatar

Messages : 34
Projet Actuel : Du shoot, du shoot et encore du shoot!

Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!

MessageSujet: Re: Personnage bloqué dans le mur   Sam 16 Juil 2016 - 8:13

Si cela peut aider, mon code de déplacement est le suivant:

Code:
haut = keyboard_check (vk_up);
bas = keyboard_check (vk_down);
droite =  keyboard_check (vk_right);
gauche =  keyboard_check (vk_left);


if(!place_meeting (x, y+1, obj_Obstacle)) {
if haut {
    y -= moveSpeed ;
            }
    y -= moveStop;
};

if (!place_meeting (x, y-1, obj_Obstacle))  {
if bas {
    y += moveSpeed ;
            }
    y += moveStop;

};

if (!place_meeting (x+1, y, obj_Obstacle))  {
if droite {
    x += moveSpeed ;
            }
    x += moveStop;

};

if (!place_meeting (x-1, y, obj_Obstacle))  {
if gauche {
    x -= moveSpeed ;
            }
    x -= moveStop;

};
   


Revenir en haut Aller en bas
RegelePisicilor
Pas mal
avatar

Messages : 34
Projet Actuel : Du shoot, du shoot et encore du shoot!

Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!

MessageSujet: Re: Personnage bloqué dans le mur   Sam 16 Juil 2016 - 8:18

Bon mon problème est réglé, j'ai compris d'où venait le problème!

Pour celles et ceux qui rencontreront le même problème, il faut tenir compte de la taille de l'image du sprite et de ca vitesse de déplacement. J'ai fait le choix d'un multiple de 32 (taille du sprite) en choisissant une vitesse de 8.

J'imagine que cela est dû au nombre de pixel de progression à chaque fois que le personnage se déplace!
Revenir en haut Aller en bas
RegelePisicilor
Pas mal
avatar

Messages : 34
Projet Actuel : Du shoot, du shoot et encore du shoot!

Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!

MessageSujet: Re: Personnage bloqué dans le mur   Sam 16 Juil 2016 - 8:41

Erratum,

si le problème est bien réglé sur l'axe x, en revanche je rencontre toujours le même problème sur l'axe y...
Revenir en haut Aller en bas
RegelePisicilor
Pas mal
avatar

Messages : 34
Projet Actuel : Du shoot, du shoot et encore du shoot!

Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!

MessageSujet: Re: Personnage bloqué dans le mur   Dim 17 Juil 2016 - 9:43

Salut tout le monde,

malheureusement je n'ai toujours pas trouvé de solution à problème concernant l'axe y, une petite idée?

Merci d'avance!

RG
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

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

MessageSujet: Re: Personnage bloqué dans le mur   Dim 17 Juil 2016 - 9:52

Hello,
envoie ton dernier code.

_________________
                 
Revenir en haut Aller en bas
RegelePisicilor
Pas mal
avatar

Messages : 34
Projet Actuel : Du shoot, du shoot et encore du shoot!

Action plateformer typé arcade sur écran fixe, dans lequel le joueur doit éliminer, room après room, chaque ennemi qui se présente à lui!

MessageSujet: Re: Personnage bloqué dans le mur   Dim 17 Juil 2016 - 9:56

Salut Link,

mon code de déplacement est le suivant:

Code:
haut = keyboard_check (vk_up);
bas = keyboard_check (vk_down);
droite =  keyboard_check (vk_right);
gauche =  keyboard_check (vk_left);


if(!place_meeting (x, y+1, obj_Obstacle)) {
if haut {
    y -= moveSpeed ;
            }
    y -= moveStop;
};

if (!place_meeting (x, y-1, obj_Obstacle))  {
if bas {
    y += moveSpeed ;
            }
    y += moveStop;

};

if (!place_meeting (x+1, y, obj_Obstacle))  {
if droite {
    x += moveSpeed ;
            }
    x += moveStop;

};

if (!place_meeting (x-1, y, obj_Obstacle))  {
if gauche {
    x -= moveSpeed ;
            }
    x -= moveStop;

};
   

J'ai l'impression que c'est lié aux paramètres des sprites, des objets, de la vitesse de déplacement (de 8 ici) ou de hitbox mais j'ai essayé des changements à ce niveau pour un résultat identique.

Les collisions avec les murs sont précises sur l'axe X mais pas sur l'axe Y.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

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

MessageSujet: Re: Personnage bloqué dans le mur   Dim 17 Juil 2016 - 9:59


if(!place_meeting (x, y+1, obj_Obstacle)) {
ne marche que si la vitesse de déplacement est a 1,
sinon tu dois faire:
if(!place_meeting (x, y+moveSpeed, obj_Obstacle)) {

Seulement il va y avoir un autre soucis, ton objet pourra ne pas coller aux murs, dans ce cas il te faut utiliser une boucle et répéter movespeed fois un déplacement avec une vitesse de 1.

_________________
                 
Revenir en haut Aller en bas
Legends
Petit bavard
avatar

Messages : 54
Localisation : 28
Projet Actuel : Zakyro
jeu Android

MessageSujet: Re: Personnage bloqué dans le mur   Ven 2 Sep 2016 - 20:26

Apres si ton code fonctionne regarde le masque de ton sprite ou utilise un mask pour ton objet.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Personnage bloqué dans le mur   

Revenir en haut Aller en bas
 
Personnage bloqué dans le mur
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Court métrage : il se retrouve bloqué dans les sitcoms AB
» cardan bloqué dans tulipe
» Achats make up Ebay US à nouveau bloqués?
» Personnage sans nom impossible a supprimer
» Quel est votre personnage préféré dans cette partie?

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: