Autres Eléments (ou Pièces) des graphimes gam1

autres éléments possibles dans les affichages produits par le langage gam1
Nota Bene :
    Pour réaliser simplement et rapidement vos premiers scripts-gam1 :
      Parmi les Pièces de dessin présentées ici dans la rubrique "Scripts élémentaires", on peut se contenter des plus courantes pour réaliser des oeuvres graphiques interactives et animée par un script uniquement "déclaratif" ( sans aucune des instructions classiquement rencontrées dans les langages informatiques);
      à savoir :
      formes de base = Points + Droites + Rectangles + Ellipses + Arcs + Courbes + Textes ( en leur associant entre autres des attributs de couleurs)
      et, pour une éventuelle interactivité simple : des Bangs
      ou Ascenceurs
      avec une éventuelle animation, définie à l'aide des Pièces : Process + Métronomes/Mouvements + Temps et des modificateurs dynamiques d'attribut définis par SYNTAX_ANIM_ATTRIB (voir plus bas)
      en calculant les évolutions du dessin grâce aux facilités de calcul pouvant intervenir dans chaque paramètre des attributs

    Pour aller plus loin :
      Cependant, pour permettre d'accéder à des capacités de programmation plus élaborées, d'autres possibilités encore sont rendue possibles par le langage gam1 ... => voir : Commandes
      plus, éventuellement, : modules complémentaires de programmation Java spécifique ....

autres Pièces

  • (rappel) Croisements = intersection(s) de deux PIECEs
      SYNTAXE création :
      'C?=Dx*Dy' => intersection(s) des DROITES Dx et Dy
      'C?=Ex*Dy' => intersection(s) de ELLIPSE Ex et DROITE Dy
      ( Attention : 'Dy*Ex' est illicite !)
      'C?=Ex*Ey' => intersection(s) des ELLIPSES Ex et Ey
      SYNTAXE paramètre :
      'C?[0]' ou 'C?[1] ...
      __________
      specif=C?:D*D !
      __________
      SYNTAXE=C?:D*D []<fin>
      SYNTAXE=C?:E*D []<fin>
      SYNTAXE=C?:E*E []<fin>
      SYNTAXE=
    • (rappel) pour les ANIMATIONS :
    • ( voir : Point . . . )
      pour faire évoluer la valeur d'un ATTRIBUT d'une PIECE,
      * choisir (ou définir) un PROCESS
      * choisir (ou définir) un TEMPS pour indiquer à quels moments ces évolutions doivent être apportées
      * choisir (ou définir) un METRONOME pour les évolutions de valeur(s)
      • Process
        . . .
      • Métronome (= Mouvements)
        Syntaxe =
          'M?:<pr=?> <dx=?> <dy=?> '
          avec : 'pr' = optionnelle redéfinition de la période du timer
          avec : 'dx' = optionnel 'incrément en x' à =>
          __________
          specif=M?:pr= dx= dy= a= !
          __________
          SYNTAXE=M?:pr= dx= dy= a=[] !
        . . .
      • Temps
        SYNTAXE =Tp?:t=?<_?; ...>

        exemple = 'Tp1:t=2_5;9;20_23 !'
        déclenchera les actions du METRONOME au début de chacune des périodes suivantes
        2, 3, 4, 5, 9, 20, 21, 22, 23 du Process
      • SYNTAX_ANIM_ATTRIB concerne la création d'une PIECE animée :
          pour animer un ATTRIBUT d'une PIECE :
          exemple1 = 'p=P1.x;P1.y-A2.va{_tm1=M1;Tp1}'
          a pour SYNTAX_ANIM_ATTRIB : 'p={_tm1=M1;Tp1}'
          qui définit l'animation de l'attribut 'p' de la PIECE
          '_tm1' désignant une évolution propagée basée sur le PROCESS 1
          'M1' définissant l'évolution par le biais du METRONOME 1
          'Tp1' définissant les instants des évolutions par le TEMPS 1

          exemple2 = 'if=I2{!tm1=M3;Tp1}'
          a pour SYNTAX_ANIM_ATTRIB : 'if={!tm2=M3;Tp2}'
          qui définit l'animation de l'attribut 'if' de la PIECE
          '!tm2' désignant une évolution non propagée basée sur le PROCESS 2
          'M3' définissant l'évolution par le biais du METRONOME 3
          'Tp2' définissant les instants des évolution =>
          Chaque PIECE dérive d'un modèle de base par la valeur des ATTRIBUTS rattaché à son type :
          Exemples : ATTRIBUT de COULEUR, ATTRIBUT de position (horizontale = 'en x' et verticale = 'en y') pour un POINT ...
    • Ascenceur
      c'est un curseur graphique ( qui, en vertical peut évoquer un ascenseur ...)
      c'est une PIECE spéciale : un élément d'interface graphique incorporé au dessin (mais qui n'apparaît pas sur les impression) ...
      . . .
    • Groupe
        délimite un GROUPE de PIECEs ...
        les PIECES situeées entre le début et la fin d'un GROUPE se référencent sur le même niveau : '.'
        les PIECES des niveau 'parents' peuvent y être atteintes par ".." ou "..."
        . . .
        __________
        specif=GRP?: <PIECE>.. !
        __________
        SYNTAXE=GRP?: <PIECE>[ <PIECE>][ AUTRE(<PIECE>)].. <fin>
        SYNTAXE= <idx <fin
      . . .
    • Image
        c'est une PIECE (affichable)
        __________
        specif=I?:p=<POINT> i=<nom_image> !
        __________
        SYNTAXE=I?:p=<POINT> i=<nom_image>[] !
      . . .
    • Son
      . . .
    • Ysuit
      . . .

    attributs spéciaux (ou communs/partageables entre différent types de Pièces graphiques)

  • voir COULEUR et HABIT
  • COUCHE voir SYNTAXE : => [vu=?] : attribut optionnel pour chaque PIECE affichable [VU_?] : avec ? = 'O' ou "OUI" si visible; 'N' ou 'NON' si pas visible
  • ce numéro de couche (quand il est pertinent) peut être paramétré ...

    EFFETS associables à des éléments affichables

      chaque PIECE affichable, le dessin complet, peuvent se voir modifiés par un ou des effets graphiques .
      ( Des EFFETS 'EXTERNES' modulaires spécialisables ou spécifiques à sont envisagés ... )
      Les EFFETS exploitables actuellement sont :
      PEINT; DEPLACE ; TOURNE ; ENFLE ; BAZAR ; ALGEBRE ; ESTOMPE ; VAGUE ;
      ( MIGRE - bug de régression ... )
      .....
      SYNTAXE :
      I2.f_Estom(1,1,0,0,250,247,200) !
      I1.f_Enfle(0.5,1.7,0.0,0.0,0.0) !

    Calculs / opérations / %

  • calculs utiliser des parenthèses imbriquée pour affecter une valeur calculée à un attribut de Pièce ( le premier caractère de l'expression attribuée devant être un '(' )
    • pour les VARIABLEs NOMBRE ou DECIMAL, on dispose des OPERATIONS suivantes :
      "abs"; "ceil"; "floor"; "rint"; "round"; "signum"; "Plus"; "Oscil"; "Revol";
      "MINIMUM"; "MAXIMUM"; "Max"; "Min"; "maximum"; "minimum";
      "PI"; "NEPER_e"; "sinh"; "cosh"; "tanh"; "sin"; "cos"; "tan";
      "log1p"; "log10"; "log"; "exp"; "expm1"; "Pow"; "sqrt"; "cbrt";
      "IEEEre"; "acos"; "asin"; "atan"; "Atan2"; "Hypot"; "ulp";
      "to_deg"; "to_rad";
      .....
      "Oscil"; "Revol" étant spécifiques à GAMIN :
      Oscil : pour par osciller la valeur du NOMBRE ou du DECIMAL entre ses bornes, avec un pas donné ....
      "Revol" : pour faire balayer les valeurs possibles d'une borne à l'autre , avec un pas donné, toujours dans le même sens ( le 'pas' indiqué ne change pas de signe ) ...
  • voir →"POUR100"←

  • COMMANDES

    les différents types de commandes :
    X_ANIM ; X_DESSIN ; X_INSTRUCTION ; X_OPTION ; X_PRIMITIVE ; X_TEST
    • INSTRUCTIONS
    • PRIMITIVES
    • OPTIONS
      pour personnaliser, paramétrer plus finement l'application ou applette GAMIN
      (couleurs, tailles, positions, RICHESSE_ANIMATION , localisation , ... )
      entre autres :
        les ANIMATIONS consomment beaucoup de taux d'occupation du processeur ...
        Pour les machines les plus puissantes, une OPTION permet d'activer le rendu des EFFETs lors des animations . ( par défaut, ces EFFETs sont inopérants lors des animations ...)

    . . .

Aucune note. Soyez le premier à attribuer une note !

utilitaire de bas de page pour gam1 version :       OK ? pour votre
script par page URL cookie
_-_-_-_-_-_ _-_-_-_-_-_

_-_-_-_-_-_-_-_-_-_-_
        ( × )

( en : cette page autre )
label =
Editer le script du label


Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site