Air manager, affichage temporaire d'une image

Gauge Composer / Project Magenta / Reality XP, FlightDecksoft, etc...

Air manager, affichage temporaire d'une image

Messagede F-DEUZ » Dim 12 Mai 2019 14:39

Bonjour ,
J'en appelle aux connaisseurs d'Air Manager. Je suis toujours en version 2.1.3 car pas les fonds pour la 3.5.
Je voudrais afficher une image temporairement 4/5 secondes avant qu'elle ne s'efface et laisse place à la jauge.
J'avais pensé à la fonction TIMER mais je ne vois pas du tout comment l'utiliser.

Si quelqu'un pouvait m'aiguiller un peu, ce serait sympa.

Merci - Denis
Image
P8P67 - Core I7 2600K - 16GO - GTX560 2 GO - WIN 7 64 bits - P3D et XP11 - SIOC - Airmanager
F-DEUZ
 
Messages: 210
Inscription: 14/04/11
Localisation: Manosque 04

Re: Air manager, affichage temporaire d'une image

Messagede tabar57 » Dim 12 Mai 2019 16:35

Bonjour Denis,

Dans le principe, tu repères ton répertoire AM qui contient la jauge, dans ce répertoire il y a un rep ressources.
Dans ce répertoire ressource tu mets l'image à afficher au dessus de ta jauge (fichier .png par exemple).
Ensuite dans le script LUA , tu crées une variable que tu mets à true pendant 5 secondes et qui va dire que l'affichage de l'image est vrai, ensuite il va passer à false ce qui va mettre fin à l'affichage.
Donnes moi le nom de ton fichier image et je reviens vers toi pour te faire l'exemple , à moins que le grand maître diplômé Am Jacques passe avant lolaffiche

Cordialement

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Air manager, affichage temporaire d'une image

Messagede JacquesZ » Dim 12 Mai 2019 21:46

F-DEUZ a écrit:Bonjour ,
J'en appelle aux connaisseurs d'Air Manager. Je suis toujours en version 2.1.3 car pas les fonds pour la 3.5.
Je voudrais afficher une image temporairement 4/5 secondes avant qu'elle ne s'efface et laisse place à la jauge.
J'avais pensé à la fonction TIMER mais je ne vois pas du tout comment l'utiliser.

Si quelqu'un pouvait m'aiguiller un peu, ce serait sympa.

Merci - Denis

Bonjour Denis
Après les gentils mots de Bernard, je me sens obligé de répondre! lunettesnoires

Le Timer fonctionne de manière identique sur AM 2.1.3 et 3.5.
Le principe du timer est qu’il appelle une fonction spécifique (à définir dans ton code AVANT la déclaration du timer), soit après un certain délai (ce qui nous intéresse ici), soit repétitivement toutes les X millisecondes (par exemple pour faire clignoter un truc, ou pour gérer le déplacement doux ou simuler les vibrations d’une aiguille par exemple).
https://siminnovations.com/wiki/index.php?title=Timer_start
Dans ton cas, la fonction qui sera appelée après un délai de 4000 msec (4 secondes) va tout simplement gérer la visibilité de ton image.

Je te suggère donc la procédure suivante:
1- Ta jauge possède déjà un code qui crée et gère son affichage. On va y rajouter quelques éléments de code pour l’affichage du cache et évidemment rajouter le fichier image png qui va servir de cache dans le dossier « ressources » de l’instrument en question.
Attention!: si tu souhaites réutiliser une jauge du store, il est fortement conseillé de créer un CLONE de cette jauge, et de travailler sur cette copie qu’on va customizer, sinon à la prochaine MAJ d’AM ton code risque d’être écrasé (vécu).

2- Dans ton code, après l’affichage initial de tous les éléments de ta jauge, tu vas ajouter l’image qui doit cacher ta jauge par img_add(). Le fait de disposer l’instruction d’ajout de l’image qui va servir de cache APRES toutes les autres dans ton code assure qu’elle sera affichée en dernier et va donc recouvrir le reste (les éléments graphiques sont toujours affichés selon leur ordre de déclaration dans le code Lua, et donc se recouvrir successivement si nécessaire).
Comme nous allons manipuler ultérieurement cette image, nous avons besoin d’identifier la ressource qui est créée, donc un code de ce genre ira parfaitement:
Code: Tout sélectionner
img_moncache_id=img_add(« mon_cache.png »,0,0,300,300)

Je conseille par ailleurs d’identifier le type des ressources dans leur nom en les préfixant, ici par exemple img_xxxx, c’est plus facile à repérer dans le code.
Une image à sa création est toujours affichée par défaut, parfait c’est ce qu’on veut dans ce cas, donc rien d’autre à faire, ta jauge sera cachée par l’image au lancement de AM...

3-Maintenant on va gérer le délai d’affichage de l’image cache avec un timer, timer qui va appeler une fonction spécifique qu’on va créer, fonction qui elle agira sur la visibilité de notre image.
Important: Toute fonction appelée par un bouton, switch ou autre timer, (souvent nommée « xxxx_callback » pour pouvoir l’identifier plus facilement dans le code) doit être définie AVANT de pouvoir être appelée, c’est une contrainte de Lua. Donc juste avant de créer le timer en lui-même, on va insérer dans le code sa fonction callback. La seule mission de cette fonction est de rendre invisible l’image qui recouvre les autres.

On utilisera donc dans le corps de cette fonction (appelons-la function cache_image_callback()) une seule ligne de code:
Code: Tout sélectionner
function cache_image_callback()
    visible(img_moncache, false)
end

qui va rendre l’image invisible (false).

4- On ajoute ensuite le timer qui va démarrer instantanément, attendre 4 secondes (4000 msec), puis va appeler la fonction callback définie precédemment, mais avec aucune (nil) répétition:
Code: Tout sélectionner
timer_start(4000,nil,cache_image_callback)

Le dernier paramètre du timer appelle la fonction. A noter que même si elle ne reçoit pas de paramètres, la définition de la fonction doit inclure deux parenthèses vides (), parenthèses qu’on ne reprend pas dans l’appel de la fonction via le timer.

Et voilà. Le timer ne sera exécuté qu’une seule fois, et au bout de 4 secondes l’image qui recouvre le tout sera rendue invisible.

C’est exactement cette méthode que j’ai utilisée pour simuler la séquence de démarrage (BIT) de l’ASPEN EFD 1000.

Une image entièrement noire est affichée en dernier et recouvre tous les autres éléments qui sont gérés via des timers successifs qui s’appellent les uns les autres...

Si tu as des difficultés à implémenter tout ça , n’hésites pas à publier ton instrument ici.

Jacques
Dernière édition par JacquesZ le Lun 13 Mai 2019 21:58, édité 2 fois.
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Air manager, affichage temporaire d'une image

Messagede F-DEUZ » Lun 13 Mai 2019 19:27

Bonjour à tous les deux.

Alors ca c'est de la réponse applaublanc
Un superbe cours et à la vitesse grand V. merci affiche merci affiche merci affiche
Je suis en train de reprendre le VEMD de l'AS350B3 sous air manager. Je sais qu'il en existe un pour Xplane mais pas fonctionnel sous P3D.
Dans le principe, j'avais compris puisque j'ai créé une image noire qui masque la jauge tant que l'appareil n'est pas alimenté en courant. dès que la tension augmente, l'image noire s'efface.
Ensuite, il y a une image test qui doit s'afficher pendant 5 secondes avant de laisser place à la jauge. C'est là que je coinçai un peu, je ne comprenais pas l'utilisation de Timer, donc j'ai demandé de l'aide.
Je crois qu'avec les explications de Jacques je devrais m'en sortir.
Dans le cas contraire, vous n'allez pas tarder à me revoir.

Merci encore à tous les deux.

Denis
Image
P8P67 - Core I7 2600K - 16GO - GTX560 2 GO - WIN 7 64 bits - P3D et XP11 - SIOC - Airmanager
F-DEUZ
 
Messages: 210
Inscription: 14/04/11
Localisation: Manosque 04

Re: Air manager, affichage temporaire d'une image

Messagede JacquesZ » Lun 13 Mai 2019 21:40

F-DEUZ a écrit:Bonjour à tous les deux.

Alors ca c'est de la réponse applaublanc
Un superbe cours et à la vitesse grand V. merci affiche merci affiche merci affiche
Je suis en train de reprendre le VEMD de l'AS350B3 sous air manager. Je sais qu'il en existe un pour Xplane mais pas fonctionnel sous P3D.
Dans le principe, j'avais compris puisque j'ai créé une image noire qui masque la jauge tant que l'appareil n'est pas alimenté en courant. dès que la tension augmente, l'image noire s'efface.
Ensuite, il y a une image test qui doit s'afficher pendant 5 secondes avant de laisser place à la jauge. C'est là que je coinçai un peu, je ne comprenais pas l'utilisation de Timer, donc j'ai demandé de l'aide.
Je crois qu'avec les explications de Jacques je devrais m'en sortir.
Dans le cas contraire, vous n'allez pas tarder à me revoir.

Merci encore à tous les deux.

Denis

De rien!
Donc dans l’ordre du code les ressources de ton instrument, l’image test, puis l’image noire.
Si le VEMD existe déjà sur AM, reste plus qu’à l’adapter pour P3D, c’est pas plus simple et plus rapide?

Jacques (Simple ECAM SD lunettesnoires )
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Air manager, affichage temporaire d'une image

Messagede tabar57 » Lun 13 Mai 2019 22:37

Tu me dis merci Denis mais c'est surtout le Maître qui a parlé, enfin ... j'apprécie quand même chouettedoights

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Air manager, affichage temporaire d'une image

Messagede Papagolf » Mar 14 Mai 2019 11:56

Bonjour a tous et aux pro d'AM
Ton tuto Jacques est parfait

Pourrais tu à l'occase nous éclairer sur la fonction Blink
En effet j'utilise tes voyants pour le train d’atterrissage du DC3 (ou autre).
J' arrive a afficher train rentré, train en transit et train sorti.
Le top serais que le voyant transit clignote entre 0 et 1 (Dataref)
J'y arrive mais je me demande si mon code est bon car il clignote tres rapidement.
Donc comme tes tutos sont simples!!! yeuxhaut yeuxhaut ecroulerire
Merci et bon vols
Bruno
Papagolf
 
Messages: 105
Inscription: 29/11/15
Localisation: 13

Re: Air manager, affichage temporaire d'une image

Messagede fab » Mar 14 Mai 2019 12:29

Tient, une image noire ... j'ai fait cela pour Bouton d'air, totalement automne et paramétrable :

Image

Jauge On /Off

Sur une idée de David du forum Aircockpit.com, je publie cette jauge un peu particulière ...

Elle est noire et n'affiche rien, elle disparait seulement sur la mise en action de 2 paramètres dans FSUIPC. Master Avionic ON et un autre offset au choix à 1.

Elle simule l'alumage et l'extinction d'un écran cathodique

- gauge stand alone
- modification de la taille avec la souris
- possibilité de choisir l'offset à utiliser dans le fichier ini (pour mon test j'ai choisi le master avionique)
- possibilité de choisir le temps de changement d'état -----> en fait je lui ai demander de pouvoir faire une variation progressive pour simuler la chauffe de l'écran
- sauvegarde automatique des modifications

- La version 1.012 offre la possibilité de changer la transparence par un offset déclaré dans le fichier FDjauge.ini : "OffsetDimmer"

Si cet offset est $0 (valeur par défaut), cette fonction n'est pas active

Si cet offset est différent de 0, alors vous pouvez régler la luminosité entre 0 ( plus sombre) et 255 (plus lumineuse)

Installation :

- Dépompresser le .zip dans un dossier différent des autres FDjauges.
- Lancer l'.exe
-Placer et dimensionner la jauge
-Quitter
-Relancer pour vérifier l'enregistrement des paramètres

Les paramètres sont dans le fichier FDjauge.ini

[system]
PosWindowX = 135 : positions
PosWindowY = 406 : positions
TailleWindowX = 492 : Taille
TailleWindowY = 367 : Taille
Offset = $9000 : offset sur 1 octet
TimerOn = 3 : tempo d'allumage
TimerOff = 1 : tempo d'extinction
Border = 1 : bordure de la fenêtre
OffsetDimmer = $9001 : offset du dimmer



http://fabien.deheegher.free.fr/download/jauges/index.htm
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: Air manager, affichage temporaire d'une image

Messagede tabar57 » Mar 14 Mai 2019 12:32

Bonjour ,

Juste pour dire que je l'utilise aussi et que c'est parfait pour simuler l'allumage d'un tube cathodique d'Efis

Merci Fab

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Air manager, affichage temporaire d'une image

Messagede F-DEUZ » Mar 14 Mai 2019 12:48

Bonjour,
Jacques, c’est ce que je fais. J’ai conservé le dossier ressources auquel j’ajoute mes images.
Pour le fichier lua il y a tout à reprendre. Les datarefs et les variables p3d sont différentes et mixées avec les Lvars de l’As350. Mais cà avance grâce à votre aide.
Pas mal de boulot encore pour mettre tout ça au point.

Bonne journée
Denis
Image
P8P67 - Core I7 2600K - 16GO - GTX560 2 GO - WIN 7 64 bits - P3D et XP11 - SIOC - Airmanager
F-DEUZ
 
Messages: 210
Inscription: 14/04/11
Localisation: Manosque 04

Suivante

Retourner vers Add-Ons d'instruments sur un ou plusieurs PC





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

cron