Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Projet: Nouvelle version de Evershade (...) / Sorties: Les Chroniques de Katura - TAO (...) / Sorties: Star Trek: Glorious Wolf / Jeux: Pillar Town / Sorties: Dread Mac Farlane - Complet / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

299 connectés actuellement

30147317 visiteurs
depuis l'ouverture

7149 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Le Comptoir Du clickeur

Eclipso

Le Temple de Valor

Offgame

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RPG Maker MZ] Collision avec un sprite plus grand


Nethal - posté le 04/07/2024 à 19:36:04 (76 messages postés) -

❤ 0

Local Hyena

Domaine concerné: collisions
Logiciel utilisé: RPG Maker MZ
Bonjour, je suis en train de faire un passage où le joueur est poursuivit par un loup, et lorsque celui-ci atteint le joueur, c'est game over. Le problème c'est que le loup ne fait non pas 48 pixels de côté mais 240, ce qui fait 5 tiles. Tout marche très bien, sauf la collision, elle se trouve au niveau de ses pattes, sauf lorsqu'il est orienté vers le bas.

J'ai essayé de faire en sorte qu'un évènement se trouve en permanence devant la tête du loup, et lorsque cet évènement de collision et le joueur entrent en contact (event touch), le jeu se termine. Sauf qu'il semblerait que RPG Maker ne considère pas toujours le contact comme un event touch : comme l'évènement de collision se téléporte en permanence, si le joueur reste immobile, l'évènement de collision ne fait que se téléporter au-dessus du joueur, et ne lance pas le game over. Pas terrible dans un jeu plutôt horreur. De plus, il m'est déjà arrivée de me retrouver coincée derrière l'évènement de collision, sous le sprite du loup.

Réduire la taille du loup n'est pas une possibilité sans ce cas.

Une autre idée que j'ai eu mais que j'ai pas encore testée : au lieu que ce soit le loup qui chasse le joueur, c'est plutôt un évènement invisible qui fera également la collision, et le loup suivra cet évènement à la même vitesse.

Bref, si vous avez le moindre conseil, je suis preneuse. Merci beaucoup.

"Saute d'abord, réfléchis après" –Issun (Okami)


-FWT- - posté le 04/07/2024 à 22:44:45 (35 messages postés)

❤ 0

Salut !

Bon, full disclosure, je suis pas du tout un pro de MZ.
Mais si je devais faire cette séquence sous RPG Maker 2003, je testerais soit :

- Ta solution de l'événement invisible
- Ou, pour plus de précision, un événement parallèle qui calculerait sans cesse la position XY du loup et la position XY du joueur dans des variables, suivi d'une branche de condition ordonnant que si la position XY du joueur = celle du loup (en tout cas la zone de contact souhaitée), alors, Game Over. Mais je ne sais pas si c'est transposable à MV.

Bon courage !


Ecko - posté le 05/07/2024 à 00:47:47 (732 messages postés) - Rédactrice -

❤ 0

Contente OwO

ou alors troisième technique mais de sagouin, faire un sprite de taille plus grand pour que tu places la tête du loup au milieu (la ou le jeu calcul la position) et tout le reste en vide. Ca te ferais un giga grand sprite dans les fichiers pour rien mais ça marcherais X)

S'il y a bien une chose que j'aime sur Oniro, c'est que c'est le seul endroit sur internet où personne n'a déjà mon pseudo X)


-FWT- - posté le 05/07/2024 à 08:57:27 (35 messages postés)

❤ 0

Ou un événement de la taille de celui du perso pour les pattes du loup (ou n'importe quelle zone de contact), sans cesse suivi d'une image qui représente son corps ?


Nethal - posté le 05/07/2024 à 14:04:01 (76 messages postés) -

❤ 0

Local Hyena

Merci pour ces propositions , je testerais tout ça un peu plus tard :D

Citation:

Ou, pour plus de précision, un événement parallèle qui calculerait sans cesse la position XY du loup et la position XY du joueur dans des variables, suivi d'une branche de condition ordonnant que si la position XY du joueur = celle du loup (en tout cas la zone de contact souhaitée), alors, Game Over. Mais je ne sais pas si c'est transposable à MV



Normalement c'est possible oui

"Saute d'abord, réfléchis après" –Issun (Okami)


Crystal - posté le 06/07/2024 à 06:48:11 (2120 messages postés) -

❤ 0

Si tu obtiens les coordonnées en pixels de l'événement, tu peux les comparer à celles du joueur pour calculer les distances dans un événement en processus parallèle (ou l'équivalent dans MV, je ne suis pas familier):

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
x1 = coordonnées X en pixels du joueur
x2 = coordonnées X en pixels du loup
distance X = [valeur absolue de (x1 - x2)]
 
Si (distance X <= moitié de la largeur du loup + moitié de la largeur du joueur)
 
    y1 = coordonnées Y en pixels du joueur
    y2 = coordonnées Y en pixels du loup
    distance Y = [valeur absolue de (y1 - y2)]
 
    Si (distance Y <= moitié de la hauteur du loup + moitié de la hauteur du joueur)
 
        Game Over
 
    Fin
 
Fin



Au besoin, tu peux changer les valeurs des dimensions selon la direction du loup.

Tu peux aussi avoir une collision avec un hitbox circulaire en additionnant le carré des deux distances, puis en les comparant à [(rayon du loup + celui du joueur) au carré].


Nethal - posté le 07/07/2024 à 11:43:57 (76 messages postés) -

❤ 0

Local Hyena

Crystal a dit:

Si tu obtiens les coordonnées en pixels de l'événement, tu peux les comparer à celles du joueur pour calculer les distances dans un événement en processus parallèle (ou l'équivalent dans MV, je ne suis pas familier):

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
x1 = coordonnées X en pixels du joueur
x2 = coordonnées X en pixels du loup
distance X = [valeur absolue de (x1 - x2)]
 
Si (distance X <= moitié de la largeur du loup + moitié de la largeur du joueur)
 
    y1 = coordonnées Y en pixels du joueur
    y2 = coordonnées Y en pixels du loup
    distance Y = [valeur absolue de (y1 - y2)]
 
    Si (distance Y <= moitié de la hauteur du loup + moitié de la hauteur du joueur)
 
        Game Over
 
    Fin
 
Fin



Au besoin, tu peux changer les valeurs des dimensions selon la direction du loup.

Tu peux aussi avoir une collision avec un hitbox circulaire en additionnant le carré des deux distances, puis en les comparant à [(rayon du loup + celui du joueur) au carré].



Alors
1) où est-ce que je met ça ?
2) j'utilise MZ pas MV

"Saute d'abord, réfléchis après" –Issun (Okami)


Crystal - posté le 09/07/2024 à 23:58:11 (2120 messages postés) -

❤ 0

1. Dans un événement qui exécute le code en boucle durant ta séquence. Si tu es un peu perdue à ce niveau, je te conseille fortement d'essayer quelques tutoriels de base.

2. Je ne suis pas non plus familier avec MZ. Ce que je te donne c'est essentiellement l'algorithme à transposer dans le système événementiel de ta version.

Index du forum > Entraide > [RPG Maker MZ] Collision avec un sprite plus grand

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers