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 :

scrollrect et movieclip


Sujet :

Flash Pascal

  1. #1
    Membre expérimenté
    scrollrect et movieclip
    En m'inspirant de l'exemple suivant :
    http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001352.html

    Je vois pas trop l'intérêt de scrollrect puisque si je le retire la fluidité est la même...


    De plus en flashpascal, il n'est pas possible de faire scrollrect.x ?

    Ci-joint un essai :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    program Project1;
    uses
      Flash8;
     
     {$FRAME_WIDTH 550}
    {$FRAME_HEIGHT 400}
    {$FRAME_RATE 12}
    {$JPEG  nom 'voeux2012.jpg'}
    {$BACKGROUND $c0c0c0}
     
    type
     TEssai=class(movieclip)
       window:Rectangle;
       mybmp: BitmapData;
       phot:movieclip;
       constructor Create(aowner:movieclip);
       procedure onMouseWheel(delta: Number; scrollTarget: TObject=nil);
     end;
     
    constructor TEssai.Create(aowner:movieclip);
    begin
     inherited Create(aowner,'container',aowner.getNextHighestDepth);
     _x:=(stage.width-520)/2;
     window:=Rectangle.Create(0,0,520, 2*366);
     scrollrect:=window; //je vois pas trop le changement de fluidité avec la méthode...
     mybmp := loadBitmap('nom');
     attachBitmap(mybmp,0,'',true);
     phot:=movieclip.Create(self,'phot',2);
     phot. attachBitmap(mybmp,0,'',true);
     phot._y:=366;
     mouse.Addlistener(self);
    end;
     
     
    procedure TEssai.onMouseWheel(delta: Number; scrollTarget: TObject);
    begin
     if delta>0 then delta:=10 else delta:=-10;
     if (_y<=0)  and (_y>-732) then _y :=_y+ delta else  _y:=0;;
    end;
     
    begin
     TEssai.Create(_root);
    end.

  2. #2
    Expert éminent sénior
    comme indiqué dans l'aide ça permet de faire défiler un clip sans le redessiner si cacheAsBitmap = True, mais ça n'a d’intérêt que pour un clip vectoriel complexe; ici avec une simple image je ne pense pas que tu puisses avoir de gain visible...en plus avec l'accélération matérielle ce n'est peut-être même pas sensible

    sinon ce n'est pas clairement indiqué mais tous les exemples que je vois passe par une instance de rectangle
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre expérimenté
    Merci, en effet j'avais mis aussi cacheAsBitmap := True; sans différence de résultat...

    J'ai même pris une image avec du texte scrollé verticalement dans un onEnterFrame... mais pas de différence. (ça clignote dans les deux cas)
    D'ailleurs, il n'est pas évident d'animer une image contenant du texte sans avoir de clignotement sur les caractères...