Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Pascal Discussion :

Dimensionner une animation


Sujet :

Flash Pascal

  1. #1
    Rédacteur/Modérateur

    Dimensionner une animation
    Bonsoir !

    Soit une animation contenue dans un seul MovieClip. L'animation est de taille fixe, et elle a sa propre couleur de fond.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    program MovieClip01;
     
    {$FRAME_WIDTH 200}
    {$FRAME_HEIGHT 200}
    {$BACKGROUND $909090}
     
    uses
      Flash8;
     
    var
      anim: MovieClip;
     
    begin
      anim := MovieClip.Create(_root, 'mc', 0);
     
      anim.MoveTo(0,0);
      anim.LineTo(200,200);
     
      //anim._width := 200;
      //anim._height := 200;
     
      anim.LineStyle(3, $0000ff);
      anim.MoveTo(50,50);
      anim.LineTo(150,150);
     
      anim.opaqueBackground := $c0c0c0;
      stage.scaleMode := 'noScale';
    end.


    J'ai observé que les bords de l'animation s'ajustaient sur le dessin, de sorte que le carré n'est pas toujours parfait (quand le dessin n'atteint pas le bord de l'animation). J'espère que c'est clair.

    La solution que j'ai trouvée est de tracer une ligne invisible d'un coin du carré à l'autre :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
      anim.MoveTo(0,0);
      anim.LineTo(200,200);


    Quelle est la façon correcte de faire ? Pourquoi le code que j'ai mis en commentaire ne fonctionne-t-il pas ?

  2. #2
    Membre expérimenté
    Bonsoir,
    c'est effectivement la forme que tu mets dans ton movieclip qui définit la dimension de celui-ci. Soit tu dessines un carré avec un beginfill spécifique ou ta diagonale sans préciser de linestyle et ton opaquebackground.
    En effet le _width et le _height n'ont pas d'effet pour fixer les dimensions.

    _width et _height sont apparemment en lecture seule et pas en écriture...

    exemple as2 :

    L'exemple de code suivant affiche la hauteur et la largeur d'un clip dans le panneau de sortie :
    Code c :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    this.createEmptyMovieClip("image_mc", this.getNextHighestDepth());
    var image_mcl:MovieClipLoader = new MovieClipLoader();
    var mclListener:Object = new Object();
    mclListener.onLoadInit = function(target_mc:MovieClip) {
    trace(target_mc._name+" = "+target_mc._width+" X "+target_mc._height+"
    pixels");
    };
    image_mcl.addListener(mclListener);
    image_mcl.loadClip("example.jpg", image_mc);


  3. #3
    Rédacteur/Modérateur

    Merci pour la réponse, Anthony. Donc je garde ma diagonale.