Messagerie


L'éditeur d'expression [Résolu]

Poum
mardi 10 janvier 2017 à 02:33
Je reviens vers vous pour deux nouvelles questions.
Elles concernent l'éditeur d'expression.




  • Les fonctions cachées

    En tâtonnant, j'ai remarqué qu'il existe des fonctions non présentes (accessibles) dans l'éditeur d'expression.
    Par exemple ABS (pour valeur absolue).

    Existe-t-il un topic, un manuel, un site ... décrivant ces fonctions "cachées" ?


  • Détecter la présence d'une occurrence d'un objet actif dans la fenêtre du jeu

    J'ai des objets actifs qui ont été copié mainte fois.
    Je souhaite savoir à quel moment une des ces occurrence est visible par le joueur.
    Comme je le montre sur la capture d'écran ci-dessus, il est possible de le savoir par deux calculs.
    Or, cela fonctionne avec un objet actif mais comment faire ce calcul pour toutes les copies ?

    En somme, ci-dessus je calcule cette présence par rapport à l'objet "Engrenage" mais j'aimerais compléter l'expression par "Tous les "Engrenage"".

    Avez-vous une idée de la manière d'y parvenir ?
    Je me demande également si je ne me complique pas la vie alors qu'il y a peut-être une méthode 1.000 fois plus simple pour y arriver :P


Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 08:59
Je n'ai pas trouvé de liste à proprement dite des fonctions disponibles dans l'éditeur, je suis preneur d'ailleur.
Y'a ce truc mais je ne l'ai pas acheté : http://clickstore.clickteam.com/math-and-loving-the-expression-editor


Sinon, je pense que ODistance peut résoudre ta problématique.
Mais quand tu dis le joueur voit les occurencse, ça sous-entend peut-être un LOS (Light OF Sight) pour resté caché derrière les obstacles ?
Dans ce cas, OAngle peut te sauver la vie :)
Modifié le vendredi 23 août 2019 à 12:33 par Patrice
Pièces jointes
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 09:06
ABS( ) n'est pas du tout cachée. Toutes ces fonctions son accessibles via Spécial  :spe

Je n'ai pas compris ce que tu voulait faire avec ton objet Engrenage. Tu voudrais fixé une valeur d'après la position de plusieurs objets ?
Poum
mardi 10 janvier 2017 à 09:26

ABS( ) n'est pas du tout cachée. Toutes ces fonctions son accessibles via Spécial  :spe

Je n'ai pas compris ce que tu voulait faire avec ton objet Engrenage. Tu voudrais fixé une valeur d'après la position de plusieurs objets ?


Je n'avais pas regardé dans cette partie.
En effet, c'est truffé de monde. Je vais examiner tout ça de plus près.
Merci pour cette première partie.



Pour la suite, voilà ce que je veux faire concrètement :

J'ai des engrenages (décoratifs) qui sont éparpillés dans la scène.
J'ai choisi un son pour les illustrer.
Je veux que l'on entende ce son quand on s'approche d'un des engrenages. Donc, en gros quand le jouer va voir l'engrenage dans la fenêtre du jeu.

Actuellement, j'ai mis un fade-in et out pour l'échantillon afin d'être raccord en entrée et en sortie.


Sinon, je pense que ODistance peut résoudre ta problématique.
... LOS (Light OF Sight) ...
... OAngle ...


Euuuh, c'est quoi ces bébêtes là ?  8)

Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 10:02
Ha, en effet. Quand tu test la position d'un objet, si il y a plusieurs objets identiques, c'est celui que a l'ordre le plus en avant qui est pris en compte. Je sais pas si ODistance dont parle Patrice gère ça.

Sinon tu peux utiliser un masque de collision.

[edit] J'ai regardé ton exemple Patrice. J'avais pensé à l'utilisation de boucle "pour chaque objet" mais je trouvais ça trop "bourrin".
Modifié le vendredi 23 août 2019 à 12:33 par Seyjin
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 10:08
Il y a un exemple livré avec advanced direction object qui va régler facilement ton problème
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 10:38
ODistance ( ) et OAngle ( ) se trouvent par là :
Poum
mardi 10 janvier 2017 à 12:53

Il y a un exemple livré avec advanced direction object qui va régler facilement ton problème


Je suis preneur  ::)

J'avoue que je n'ai plus les yeux en face des trous.
Je n'avais pas vu (je n'ai pas encore l'habitude) ton fichier joint.
Je l'ai regardé, évidement, je n'ai rien compris mais je vais étudier ça après un peu de repos.

Cela dit, je dois chercher ma solution dans ton exemple ?
Quid d' advanced direction object (je ne sais même pas ce que c'est) ?

En tout cas, vous êtes super sympa tous les deux (et les autres aussi hein :-) ) et moi je m'amuse comme un p'tit fou ^^
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 13:38
Pour mieux comprendre son exemple, supprime tous les objets Actif et coche "visible en début de scène" de los.

En fait ta solution c'est d'utiliser toujours une boucle pour chaque objet. ODistance ( ) c'est pour simplifier le calcul (sinon la formule serait Sqr( Abs(X( "Actif" ) - X( "Actif 2" )) *  Abs(X( "Actif" ) - X( "Actif 2" ) )  +  Abs(Y( "Actif" ) - Y( "Actif 2" ) )* Abs(Y( "Actif" ) - Y( "Actif 2" ))), moins pratique).
Modifié le vendredi 23 août 2019 à 12:33 par Seyjin
Poum
mardi 10 janvier 2017 à 20:11


En fait ta solution c'est d'utiliser toujours une boucle pour chaque objet. ODistance ( )


Là, ce n'est plus la fatigue mais je n'y arrive pas  :( Je ne trouve pas ton menu.
Entre vos deux propositions (posts), je vais trouver mon bonheur c'est certain. Reste à savoir que faire  ;D

Aidez-moi SVP, je craque et dieu sait que je ne suis pas un fainéant qui pose une question avant d'avoir fait des recherches  ::) (sinon les deux première pages du forum seraient truffées de mes demandes)

En Franco-Fusien ma requête serait :

Pour chaque ,nom de boucle "Toto"
        Fixer Valeur globale A à ... X ()...
        Fixer Valeur globale B à ... Y()...
        Si Valeur globale A < 480 ET Valeur globale B < 320
              Fixer le drapeau 0 ON
              Fin de boucle                        "[color=black]pour éviter les tests inutiles
"
Fin de la boucle[/color]

Si à la sortie de cette boucle je récupère mon drapeau, c'est tout bon ^^

J'ai fais des tests mais rien ne marche.
Entre les boucle et les boucles rapides.

Je sais que ça vient de moi et mon manque de connaissance Fusion.








Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 20:38
Sinon, y'a cette bonne vieille technique de Ninja.

Perso, je ne comprend pas pourquoi tu veux passer par les valeur globales pour tester les position de tes engrenages ?
Pièces jointes
Poum
mardi 10 janvier 2017 à 20:57

Perso, je ne comprend pas pourquoi tu veux passer par les valeur globales pour tester les position de tes engrenages ?


Je n'y tiens pas particulièrement, c'était juste pour montrer ma demande.

Sinon :



Je n'ai pas testé mais je pense qu'il me manquait juste la syntaxe des boucles :-D
Je reviendrai pour vous dire si tout fonctionne comme je le souhaite ^^

Merci encore
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 10 janvier 2017 à 21:38
Attention à ne pas confondre les boucles dans Spécial et les boucles pour chaque objet via l'objet en question. Je me suis pas mal casser la tête sur ça au début.

Voici une petite vidéo : https://youtu.be/G_t2hUceHpY
Par contre c'est très mal optimisé. Il vaut mieux passer par un compteur (ou valeur générale) comme l'exemple de Patrice et tester ensuite si elle est supérieure à 0.
Modifié le vendredi 23 août 2019 à 12:33 par Seyjin
Poum
mardi 10 janvier 2017 à 21:41

Je me suis pas mal casser la tête sur ça au début.


J'en suis au début alors je suis preneur de la syntaxe. Sachant que l'aide de Fusion, est vraiment trop limitée à ce niveau là.


Edit : en attendant, en m'inspirant de MFA de Patrice, j'ai réussi à faire ce que je voulait (même si le rendu n'est pas top mais ça, c'est une autre histoire).



Merci @ vous deux
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 19 visiteurs au total

Derniers messages