AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-23%
Le deal à ne pas rater :
EVGA SuperNOVA 650 G6 – Alimentation PC 100% modulaire 650W, 80+ ...
77.91 € 100.91 €
Voir le deal
Le Deal du moment : -20%
-20% sur le Lot de 2 écrans PC GIGABYTE ...
Voir le deal
429 €

 

 Rendre un background transparent au passage d'un personnage

Aller en bas 
2 participants
AuteurMessage
tchicoheckard
Nouveau



Messages : 5

Rendre un background transparent au passage d'un personnage Empty
MessageSujet: Rendre un background transparent au passage d'un personnage   Rendre un background transparent au passage d'un personnage EmptyJeu 25 Fév 2016 - 20:42

Bonjour à tous,

Je découvre GM petit à petit, en bidouillant, depuis quelques temps, mais là je bloque. Sur un jeu 2d basique vue du dessus, je voudrais que lorsque le joueur passe sous un décor (par exemple un pont ou un balcon), un cercle transparent se forme sur ce décor, laissant apparaître le personnage et son environnement proche. Je me disais peut-être qu'en utilisant les views, il pourrait y avoir une solution (vu que le cercle transparent doit suivre les déplacements du joueur).
Mais ce n'est pas tout. En bidouillant les layers, j'ai fait une pièce avec un escalier et un balcon. Mon personnage passe sous ce balcon (celui cité plus haut gnii ). Mais je voudrais qu'il passe dessus une fois qu'il a monté les escalier (il se retrouve à l'étage). Un truc genre "si le personnage passe cette ligne, changer la profondeur du layer".

Merci d'avance pour votre aide
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Rendre un background transparent au passage d'un personnage Empty
MessageSujet: Re: Rendre un background transparent au passage d'un personnage   Rendre un background transparent au passage d'un personnage EmptyVen 26 Fév 2016 - 9:22

Ce que tu veux faire est assez complexe en réalité.

Pour les collisions en fonction du layer/étage, la solution la plus simple reste d'avoir 2 types d'objets solides avec des sprites qui peuvent se chevaucher pour simplifier l'edition de la carte.
T'auras un collider pour le premier plan et un collider pour le second.

Tu crées une fonction placeFreeLayer avec dedans
Code:
var layer;
layer = argument2;
if(layer == 0) {
  return !place_meeting(argument0, argument1, collider_layer0)
}
else {
  return !place_meeting(argument0, argument1, collider_layer1)
}
return false

Dans ton personnage tu crées ainsi une variable current_layer que tu passeras a la fonction ainsi:
if(placeFreeLayer(x+1, y, current_layer)) { // move right ...

Il te faut bien entendu un autre type d'objet, qui changera le current_layer du personnage s'il passe dessus, pour changer de layer si tu passes par ex sous ou sur un pont.


Pour le cercle transparent qui se découpe la ça deviens bien plus compliqué, il faut afficher le layer ou appliquer l'effet dans une surface, puis ensuite a l'aide de blend mode effacer le rond que tu souhaites, puis ensuite afficher la surface dans le bon ordre pour qu'elle soit affichée au dessus de l'autre plan...
Enfin bref sous GM c'est un peu le bordel.

_________________
Rendre un background transparent au passage d'un personnage Runningpotato1Rendre un background transparent au passage d'un personnage TvF6GED Rendre un background transparent au passage d'un personnage MdetltS
Revenir en haut Aller en bas
tchicoheckard
Nouveau



Messages : 5

Rendre un background transparent au passage d'un personnage Empty
MessageSujet: Re: Rendre un background transparent au passage d'un personnage   Rendre un background transparent au passage d'un personnage EmptyLun 29 Fév 2016 - 16:25

Merci pour ton aide!

En effet, je laisse tomber l'idée du cercle transparent. Par contre, j'ai réussi à faire 2 étages dans ma room, en changeant la depth du perso quand il passe les escaliers, dans un sens et dans l'autre.

Merci encore
Revenir en haut Aller en bas
Contenu sponsorisé





Rendre un background transparent au passage d'un personnage Empty
MessageSujet: Re: Rendre un background transparent au passage d'un personnage   Rendre un background transparent au passage d'un personnage Empty

Revenir en haut Aller en bas
 
Rendre un background transparent au passage d'un personnage
Revenir en haut 
Page 1 sur 1

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: