Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 Faire apparaître les Hotspots dans une room.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
tapir87
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 18

Localisation : Limousin

Date d'inscription : 19/12/2014


MessageSujet: Faire apparaître les Hotspots dans une room.   Mar 3 Jan 2017 - 16:23

Bonjour à tous.
J'aimerais savoir s'il est possible de visualiser un "Hotspot" au moment du clic dans une pièce.
Je m'explique. J'ai fait des hotspots représentant des lettres. Quand le joueur clique sur un hotspot, j'aimerais que la lettre correspondante apparaisse à l'écran et pouvoir lui donner la couleur que je désire.
Merci d'avance pour votre aide.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
avatar

Nombre de messages : 1744

Localisation : France

Date d'inscription : 27/01/2014


MessageSujet: Re: Faire apparaître les Hotspots dans une room.   Mer 4 Jan 2017 - 11:26

Je ne suis pas sûr de comprendre ce que tu n'arrives pas à faire.
Tu peux donner plus d'explications stp ?

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://store.steampowered.com/app/367110/
tapir87
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 18

Localisation : Limousin

Date d'inscription : 19/12/2014


MessageSujet: Re: Faire apparaître les Hotspots dans une room.   Mer 4 Jan 2017 - 17:54

Merci de vous intéresser à mon problème.
Voilà : Dans une pièce, on crée des hotspots sur lesquels le joueur peut cliquer afin qu'une action se produise.
J'aimerais, lors du clic sur un hotspot, que ce dernier soit visible à l'écran. Qu'il apparaisse un peu comme un Overlay durant un temps que je fixerais puis disparaîtrait.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
avatar

Nombre de messages : 1744

Localisation : France

Date d'inscription : 27/01/2014


MessageSujet: Re: Faire apparaître les Hotspots dans une room.   Mer 4 Jan 2017 - 19:21

On peut se tutoyer hein, on est une communauté. clin d\\\\'oeil

Tu pourrais utiliser des objects ou des guis pour faire ces lettres qui apparaissent / disparaissent.

Les Objects ont une propriété Visible.
bool Object.Visible

Idem pour les GUIs.
bool GUI.Visible

Pour le temps il y a SetTimer.

Consulte la doc et n'hésite pas revenir vers nous si ce n'est pas clair. clin d\\\\'oeil

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://store.steampowered.com/app/367110/
Arlann
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 178

Date d'inscription : 06/04/2016


MessageSujet: Re: Faire apparaître les Hotspots dans une room.   Mer 4 Jan 2017 - 20:41

Si je comprends bien l'effet que tu désires faire, je rejoins Atavismus sur un point, il est préférable d'utiliser un Gui avec un Label où tu pourras changer de lettre et de couleur à ta guise et très facilement.

Cela dit, si tu dois absolument faire apparaitre tes lettres depuis la forme de tes hotspots, je te propose d’essayer de passer par les fonctions de DrawingSurfaces d'AGS.

Voici un exemple :
Code:
void ApparitionHotspot(Hotspot* hotspotADessiner, int couleur, int duree)
{
  DrawingSurface *dessin = Room.GetDrawingSurfaceForBackground();
  DrawingSurface *sauvegarde = dessin.CreateCopy();
  dessin.DrawingColor = couleur;
  for ( int iX = Room.Width;  iX > 0 ; iX-- ) {
    for ( int iY = Room.Height; iY  > 0 ; iY-- ) {
      if ( Hotspot.GetAtScreenXY(iX, iY) == hotspotADessiner ) dessin.DrawPixel(iX, iY);
    }
  }
  dessin.Release();
  Wait(duree);
  DrawingSurface *efface = Room.GetDrawingSurfaceForBackground();
  efface.DrawSurface(sauvegarde);
  sauvegarde.Release();
  efface.Release();
}

function hHotspot1_Interact()
{
  ApparitionHotspot(hHotspot1, 13, 160); // pour appeler la fonction, préciser le hotspot, une couleur et une durée.
}

Par contre si tes graphismes sont en HD cette méthode risque de prendre son temps...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tapir87
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 18

Localisation : Limousin

Date d'inscription : 19/12/2014


MessageSujet: Re: Faire apparaître les Hotspots dans une room.   Jeu 5 Jan 2017 - 9:44

J'ai finalement opté pour des Overlays.
J'ai reproduit mes Hotspots en sprites que j'utilise comme des Overlays.
Overlay* H = Overlay.CreateGraphical(x,x,slot,false);
WaitMouseKey(80);
H.Remove();
Cela dit, ta technique DrawingSurfaces est intéressante. je vais essayer.
Encore merci Atavismus & Arlann
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Faire apparaître les Hotspots dans une room.   

Revenir en haut Aller en bas
 
Faire apparaître les Hotspots dans une room.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Faire apparaître les Hotspots dans une room.
» [RESOLUE] Faire apparaître des objets
» [Didacticiel] Comment faire apparaître des symboles ou des touches de la manette PS3 dans un texte.
» faire apparaître le sabre rouge dans la liste des armes
» Nouvelle question =) [Faire apparaître un monstre]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: