And if NOT ? What append ?
2 participants
Page 1 sur 1
And if NOT ? What append ?
Bonjour à tous,
Bon, c'est écris dans le titre du sujet,
J'aurais besoin d'éclaircissement, vu que je suis à la ramasse en maths, sur l'utilisation des fonction logique AND, IF, NOT et les petits frères.
J'essaie d'animer ça:
MAIS, car il y a un GROOOOOOOS mais, sans une seule ligne de Nasal...... atchoum... auquel je suis allergique pour l'instant.
Donc là, j'en suis aux différents écrans affichables en bas, aussi bien à gauche qu'a droite.
Prenons le premier (oupsss, désolé, c'est le second, ha y en a qui ont l'oeil !!),dans la série de 10, la gestion carburant:
ATTENTION, ce sont les textures temporaires empruntée sur le Net, les miennes sont en cours d'élaboration.
Afin d'éviter de faire deux ensembles d'objets pour l'écran d'affichage de la gestion du carburant (il peux s'afficher aussi bien en bas à gauche, qu'en bas à droite), j'appelle le même ensemble d'objet, la différence se situant dans les onglets s'affichant à côté des boutons correspondants.
Dans mon fichier principal "mfd.xml", j'ai crée une variable qui change par action sur le bouton rotatif et mis un pas de 0.1 (0.5 c'est encore trop rapide), de façon à éviter les tâtonnements en tournant et avoir le bon écran (on à donc 10 clics molette entre deux écrans).
Les valeurs "instrumentation/avio-mfd/screen-down-left" et "instrumentation/avio-mfd/screen-down-right" varient donc, comme il y a 10 écrans différents à afficher, de 0 à 9.
Puis j'appelle mon sous- ensemble "fuel.xml", en lui donnant selon le bouton droite et gauche, la position voulue.
Ca donne ça :
La copie écran vous montre mon ensemble "Fuel" dans Blender, avec ses deux onglets.
Je sèche donc sur la manière de n'afficher qu'un seul des deux.
Quand les deux boutons rotatif sont à des positions différentes, pas de problème. Mais si ils sont dans la même tranche (entre 0.5 et 1.5 pour le fuel), ça pose problème puisque j'ai mes conditions valables des deux côté :
QU'EST-CE QUE QUOI JE FAIT-JE ?????????
Merki buckets
Bon, c'est écris dans le titre du sujet,
J'aurais besoin d'éclaircissement, vu que je suis à la ramasse en maths, sur l'utilisation des fonction logique AND, IF, NOT et les petits frères.
J'essaie d'animer ça:
MAIS, car il y a un GROOOOOOOS mais, sans une seule ligne de Nasal...... atchoum... auquel je suis allergique pour l'instant.
Donc là, j'en suis aux différents écrans affichables en bas, aussi bien à gauche qu'a droite.
Prenons le premier (oupsss, désolé, c'est le second, ha y en a qui ont l'oeil !!),dans la série de 10, la gestion carburant:
ATTENTION, ce sont les textures temporaires empruntée sur le Net, les miennes sont en cours d'élaboration.
Afin d'éviter de faire deux ensembles d'objets pour l'écran d'affichage de la gestion du carburant (il peux s'afficher aussi bien en bas à gauche, qu'en bas à droite), j'appelle le même ensemble d'objet, la différence se situant dans les onglets s'affichant à côté des boutons correspondants.
Dans mon fichier principal "mfd.xml", j'ai crée une variable qui change par action sur le bouton rotatif et mis un pas de 0.1 (0.5 c'est encore trop rapide), de façon à éviter les tâtonnements en tournant et avoir le bon écran (on à donc 10 clics molette entre deux écrans).
Les valeurs "instrumentation/avio-mfd/screen-down-left" et "instrumentation/avio-mfd/screen-down-right" varient donc, comme il y a 10 écrans différents à afficher, de 0 à 9.
Puis j'appelle mon sous- ensemble "fuel.xml", en lui donnant selon le bouton droite et gauche, la position voulue.
Ca donne ça :
- Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<PropertyList>
<path>mfd.ac</path>
<animation>
<object-name>A1</object-name>
...............................
<!-- Variables setup -->
<params>
...........................
<screen-down-left>instrumentation/avio-mfd/screen-down-left</screen-down-left> <!-- pour créer une variable bouton de gauche -->
<screen-down-right>instrumentation/avio-mfd/screen-down-right</screen-down-right> <!-- pour créer une variable bouton de droite -->
................
</params>
...................
<!-- Screen Lower Left Selector -->
<animation>
<type>pick</type>
<object-name>A6</object-name>
<visible>true</visible>
<action>
<button>3</button>
<binding>
<command>property-adjust</command>
<property alias="../../../../params/screen-down-left"/>
<step>0.1</step>
<min>0</min>
<max>8</max>
<wrap>0</wrap>
</binding>
</action>
</animation>
<animation>
<type>pick</type>
<object-name>A6</object-name>
<visible>true</visible>
<action>
<button>4</button>
<binding>
<command>property-adjust</command>
<property alias="../../../../params/screen-down-left"/>
<step>-0.1</step>
<min>0</min>
<max>8</max>
<wrap>0</wrap>
</binding>
</action>
</animation>
<animation>
<type>rotate</type>
<object-name>A6</object-name>
<property>instrumentation/avio-mfd/screen-down-left</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
<entry><ind>8</ind><dep>270</dep></entry>
</interpolation>
<center>
<x-m> 0.00491 </x-m>
<y-m> -0.14924 </y-m>
<z-m> -0.08181 </z-m>
</center>
<axis>
<x> -1 </x>
<y> 0 </y>
<z> 0 </z>
</axis>
</animation>
........................
<!-- Call Fuel Left Screen-->
<model>
<name>Fuel</name>
<condition>
<and>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>0.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>1.5</value>
</less-than>
</and>
</condition>
<path>Aircraft/Eclipse-550/Models/Interior/Cockpit/AVIO-mfd/Fuel/fuel.xml</path>
<offsets>
<x-m> 0.002 </x-m>
<y-m> -0.0716 </y-m> <!-- là il va le mettre à gauche -->
<z-m> -0.0373 </z-m>
</offsets>
</model>
<!-- Call Fuel Right Screen-->
<model>
<name>Fuel</name>
<condition>
<and>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>0.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>1.5</value>
</less-than>
</and>
</condition>
<path>Aircraft/Eclipse-550/Models/Interior/Cockpit/AVIO-mfd/Fuel/fuel.xml</path>
<offsets>
<x-m> 0.002 </x-m>
<y-m> 0.040 </y-m> <!-- là il va le mettre à droite -->
<z-m> -0.0373 </z-m>
</offsets>
</model>
...................
</PropertyList>
La copie écran vous montre mon ensemble "Fuel" dans Blender, avec ses deux onglets.
Je sèche donc sur la manière de n'afficher qu'un seul des deux.
Quand les deux boutons rotatif sont à des positions différentes, pas de problème. Mais si ils sont dans la même tranche (entre 0.5 et 1.5 pour le fuel), ça pose problème puisque j'ai mes conditions valables des deux côté :
- Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<PropertyList>
<path>fuel.ac</path>
<animation>
<object-name>EstRemain-1</object-name>
.......................
</animation>
......................
<!-- Fuel Left Tabs -->
<animation>
<type>select</type>
<object-name>Tabs-Lh</object-name>
<visible type="bool">true</visible>
<condition>
<and>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>0.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>1.5</value>
</less-than>
</and>
<not>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>0.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>1.5</value>
</less-than>
</not>
</condition>
</animation>
<!-- Fuel right Tabs -->
<animation>
<type>select</type>
<object-name>Tabs-Rh</object-name>
<visible type="bool">true</visible>
<condition>
<and>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>0.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>1.5</value>
</less-than>
</and>
</condition>
</animation>
....................
</PropertyList>
QU'EST-CE QUE QUOI JE FAIT-JE ?????????
Merki buckets
Didier1963- Le baron rouge
- Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH
Re: And if NOT ? What append ?
Bonsoir,
je sais pas si j'ai tout bien compris
si p.ex le gauche est affiché, tu ne veux pas que le droit s'affiche si le bouton droit passe par là? et vice-versa, j'ai bon?
essaie ça:
je sais pas si j'ai tout bien compris
si p.ex le gauche est affiché, tu ne veux pas que le droit s'affiche si le bouton droit passe par là? et vice-versa, j'ai bon?
essaie ça:
- Code:
<!-- Fuel Left Tabs -->
<animation>
<type>select</type>
<object-name>Tabs-Lh</object-name>
<visible type="bool">true</visible>
<condition>
<and>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>0.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>1.5</value>
</less-than>
<not>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>0.5</value>
</greater-than>
</not>
<not>
<less-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>1.5</value>
</less-than>
</not>
</and>
</condition>
</animation>
F-Sig- Pilote d'hélico
- Messages : 993
Date d'inscription : 21/09/2010
Age : 76
Localisation : LFIM - LFBT
Re: And if NOT ? What append ?
Merci m'sieur,
j'essaie ça dès que j'ai fini ma checklist.
Juste une précision, dans mon ensemble d'objet "Fuel Screen", j'ai un objet plan central servant de fond pour les chiffres, et de chaque côté, un objet plan servant à afficher les étiquettes (ON, L Pump AUTO, R Pump ON, XFEED L<R, ECB Link).
Si j’appelle mon ensemble pour être affiché côté gauche, je ne montre que les étiquettes de droite.
Si j’appelle mon ensemble pour être affiché côté droite, je ne montre que les étiquettes de gauche.
C'est vrai que je n'ai pas choisi forcement le meilleur screenshot, mais si tu regarde les deux PDF de chaque côté du MFD, il ont bien leurs étiquettes en face des boutons de fonction (Active, Monitor, Com1, Com2, Timer pour celui de gauche, et Vide, Vide, Fréquance, Replay, vide, Next pour celui de gauche).
A+
[EDIT]
Ca ne fonctionne pas.
j'ai soit ça avec ton code:
soit ça avec le miens:
Je devrais avoir ça :
l'écran de gauche puisque à droite c'est la page de gestion électricité qui n'as pas d'étiquettes.
j'essaie ça dès que j'ai fini ma checklist.
Juste une précision, dans mon ensemble d'objet "Fuel Screen", j'ai un objet plan central servant de fond pour les chiffres, et de chaque côté, un objet plan servant à afficher les étiquettes (ON, L Pump AUTO, R Pump ON, XFEED L<R, ECB Link).
Si j’appelle mon ensemble pour être affiché côté gauche, je ne montre que les étiquettes de droite.
Si j’appelle mon ensemble pour être affiché côté droite, je ne montre que les étiquettes de gauche.
C'est vrai que je n'ai pas choisi forcement le meilleur screenshot, mais si tu regarde les deux PDF de chaque côté du MFD, il ont bien leurs étiquettes en face des boutons de fonction (Active, Monitor, Com1, Com2, Timer pour celui de gauche, et Vide, Vide, Fréquance, Replay, vide, Next pour celui de gauche).
A+
[EDIT]
Ca ne fonctionne pas.
j'ai soit ça avec ton code:
soit ça avec le miens:
Je devrais avoir ça :
l'écran de gauche puisque à droite c'est la page de gestion électricité qui n'as pas d'étiquettes.
Didier1963- Le baron rouge
- Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH
Re: And if NOT ? What append ?
Mon bout de code n'est qu'un exemple, il faut peut-être affiner encore et bien sûr faire le verrouillage réciproque sur les deux côtés.
Il me semble pourtant que ça devrait le faire.
Selon la doc la condition not ne doit contenir qu'une sous-condition. voir dans "/data/Docs/README.conditions"
Mais ces trucs en xml ont parfois des réactions bizarres, surtout la fonction not (interprétation d'un code interprété, ça accumule les aléas)
Mais sans avoir le truc sous la main pour tester... à toi de jouer
Peut-être:
Pour l'affichage à gauche ou à droite des boutons, je pense que le plus simple serait de scinder ton écran en 2 objets distincts ( schéma, boutons)
Pour l'affichage de textes voir aussi: http://wiki.flightgear.org/OSG_Text
voir dans les mfd g/d du m2000, un canvas "boutons" pourrait afficher divers textes selon l'écran.
Les solutions ne manquent pas, suffit de comprendre la question
Il me semble pourtant que ça devrait le faire.
Selon la doc la condition not ne doit contenir qu'une sous-condition. voir dans "/data/Docs/README.conditions"
Mais ces trucs en xml ont parfois des réactions bizarres, surtout la fonction not (interprétation d'un code interprété, ça accumule les aléas)
Mais sans avoir le truc sous la main pour tester... à toi de jouer
Peut-être:
- Code:
<!-- Fuel Left Tabs -->
<animation>
<type>select</type>
<object-name>Tabs-Lh</object-name>
<visible type="bool">true</visible>
<condition>
<and>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>0.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-left</property>
<value>1.5</value>
</less-than>
<or>
<greater-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>1.5</value>
</greater-than>
<less-than>
<property>instrumentation/avio-mfd/screen-down-right</property>
<value>0.5</value>
</less-than>
/or
</and>
</condition>
</animation>
Pour l'affichage à gauche ou à droite des boutons, je pense que le plus simple serait de scinder ton écran en 2 objets distincts ( schéma, boutons)
Pour l'affichage de textes voir aussi: http://wiki.flightgear.org/OSG_Text
voir dans les mfd g/d du m2000, un canvas "boutons" pourrait afficher divers textes selon l'écran.
Les solutions ne manquent pas, suffit de comprendre la question
F-Sig- Pilote d'hélico
- Messages : 993
Date d'inscription : 21/09/2010
Age : 76
Localisation : LFIM - LFBT
Re: And if NOT ? What append ?
Merci M'sieur pour les conseils.
En fait ctte nuit quand je me suis arrêté de m'arracher le peu de cheveux qui me reste et suis passé en position 144, j'ai trouvé une solution (dont tu me parle aussi), de tout bêtement traiter les deux zones d'étiquettes comme chaque écran, c'est à dire de créer un sous ensemble "Étiquette gauche" et un "Étiquette droite". Ce qui résous le problème avec la texture qui va bien et la fonction textranslate.
Pour le Canvas, je me doute bien qu'il y a moyen, mais celà fait partie du challenge que je me suis fixé : faire un instrument uniquement en Xml, sans une seule ligne de Nasal ou Canvas.
Masochiste ???? Oui, un peu quand même. Mais c'est surtout que je ne veux pas me mettre à étudier encore un langage de plus quand je peux faire les choses avec celui que je connaît. Je parle là du Xml, pas du français-anglais-serbo-croate !!
J'avais déjà parcouru la doc FG (beaucoup de gens n'y pense pas avant de poser leur questions sur les forum), mais je n'avait pas pratiqué en même temps, du coup c'était passé à coté de mon neurone.
Je vais donc opter pour la séparation, mais en espérant qu'une bonne qui maîtrise m'indique la marche à suivre pour tout avoir dans le même fichier, n'étant pas trop adepte des fichiers qui renvoient à un autre fichier, qui renvoie à un autre fichier, etc......
A+
PS: je ne met pas "résolu" dans le titre du sujet car il y a une solution, je le mettrai quand j'aurai trouvé ou que quelqu'un m'aura soufflé le démarche.
En fait ctte nuit quand je me suis arrêté de m'arracher le peu de cheveux qui me reste et suis passé en position 144, j'ai trouvé une solution (dont tu me parle aussi), de tout bêtement traiter les deux zones d'étiquettes comme chaque écran, c'est à dire de créer un sous ensemble "Étiquette gauche" et un "Étiquette droite". Ce qui résous le problème avec la texture qui va bien et la fonction textranslate.
Pour le Canvas, je me doute bien qu'il y a moyen, mais celà fait partie du challenge que je me suis fixé : faire un instrument uniquement en Xml, sans une seule ligne de Nasal ou Canvas.
Masochiste ???? Oui, un peu quand même. Mais c'est surtout que je ne veux pas me mettre à étudier encore un langage de plus quand je peux faire les choses avec celui que je connaît. Je parle là du Xml, pas du français-anglais-serbo-croate !!
J'avais déjà parcouru la doc FG (beaucoup de gens n'y pense pas avant de poser leur questions sur les forum), mais je n'avait pas pratiqué en même temps, du coup c'était passé à coté de mon neurone.
Je vais donc opter pour la séparation, mais en espérant qu'une bonne qui maîtrise m'indique la marche à suivre pour tout avoir dans le même fichier, n'étant pas trop adepte des fichiers qui renvoient à un autre fichier, qui renvoie à un autre fichier, etc......
A+
PS: je ne met pas "résolu" dans le titre du sujet car il y a une solution, je le mettrai quand j'aurai trouvé ou que quelqu'un m'aura soufflé le démarche.
Didier1963- Le baron rouge
- Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH
Re: And if NOT ? What append ?
Oups, confusion, je ne pensais pas du tout a "canvas" de fg. simplement à un fond d'image.Didier1963 a écrit:
Pour le Canvas, je me doute bien qu'il y a moyen, mais celà fait partie du challenge que je me suis fixé : faire un instrument uniquement en Xml, sans une seule ligne de Nasal ou Canvas.
Tant que tu n'as pas de fonctions mathématiques à faire...Didier1963 a écrit:
Masochiste ???? Oui, un peu quand même. Mais c'est surtout que je ne veux pas me mettre à étudier encore un langage de plus quand je peux faire les choses avec celui que je connaît. Je parle là du Xml, pas du français-anglais-serbo-croate !!
Mais même pour la logique 5 lignes de nasal peuvent remplacer 20 lignes de xml et parfois sauver quelques cheveux . aucune idée quand à la répercussion sur les fps.
F-Sig- Pilote d'hélico
- Messages : 993
Date d'inscription : 21/09/2010
Age : 76
Localisation : LFIM - LFBT
Re: And if NOT ? What append ?
Il y a eu des débats sur le forum GF.org à ce sujet.
http://forum.flightgear.org/viewtopic.php?f=66&t=19721
Je pense avoir compris que Nasal simplifie pas mal de chose, et fait gagner beaucoup de temps en programmation, mais aussi temps d'accès processeur. Donc plus de FPS.
Je vais voir ce que j'arrive à faire simplement avec Xml pour l'instant.
L'idée de se mettre au Nasal est à travailler.
Merci pour l'info OSG text, je vais voir de ce côté aussi car je pourrait avoir besoin de ça sur d'autres choses dans l'avion (Eclipse-550, mais aussi mon Tu-444).
http://forum.flightgear.org/viewtopic.php?f=66&t=19721
Je pense avoir compris que Nasal simplifie pas mal de chose, et fait gagner beaucoup de temps en programmation, mais aussi temps d'accès processeur. Donc plus de FPS.
Je vais voir ce que j'arrive à faire simplement avec Xml pour l'instant.
L'idée de se mettre au Nasal est à travailler.
Merci pour l'info OSG text, je vais voir de ce côté aussi car je pourrait avoir besoin de ça sur d'autres choses dans l'avion (Eclipse-550, mais aussi mon Tu-444).
Didier1963- Le baron rouge
- Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|