tapir87 C'est quoi la Tasse Bleue ?
Nombre de messages : 18
Localisation : Limousin
Date d'inscription : 19/12/2014
| Sujet: 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. |
|
Atavismus Grand Cliqueur Royal
Nombre de messages : 1857
Localisation : France
Date d'inscription : 27/01/2014
| Sujet: 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 ? |
|
tapir87 C'est quoi la Tasse Bleue ?
Nombre de messages : 18
Localisation : Limousin
Date d'inscription : 19/12/2014
| Sujet: 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. |
|
Atavismus Grand Cliqueur Royal
Nombre de messages : 1857
Localisation : France
Date d'inscription : 27/01/2014
| Sujet: Re: Faire apparaître les Hotspots dans une room. Mer 4 Jan 2017 - 19:21 | |
| On peut se tutoyer hein, on est une communauté. Tu pourrais utiliser des objects ou des guis pour faire ces lettres qui apparaissent / disparaissent. Les Objects ont une propriété Visible. bool Object.VisibleIdem pour les GUIs. bool GUI.VisiblePour le temps il y a SetTimer. Consulte la doc et n'hésite pas revenir vers nous si ce n'est pas clair. |
|
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: 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... |
|
tapir87 C'est quoi la Tasse Bleue ?
Nombre de messages : 18
Localisation : Limousin
Date d'inscription : 19/12/2014
| Sujet: 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 |
|
Contenu sponsorisé
| Sujet: Re: Faire apparaître les Hotspots dans une room. | |
| |
|