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

ActionScript 1 & ActionScript 2 Discussion :

Position fixe clip dans scène


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre à l'essai
    Position fixe clip dans scène
    Bonjour,

    Besoin d'aide pour un truc qui me semble tout simple mais sur lequel je bloque, faut dire que ma maîtrise du flash est en tout début de parcours...

    Je voudrait contraindre un clip en haut à gauche de ma scène, y compris lors d'un resize de scène.

    L'idée c'est d'avoir ma scène centrée dans le navigateur et le menu qui reste calé en haut à gauche peut importe la résolution d'affichage.

    Quelqu'un a t il la soluce ?

    Bien à vous,

  2. #2
    Membre confirmé
    Quand tu augmentes la taille et que la résolution ne change pas, le point 0,0 (supérieur gauche) devient négatif. Donc tu dois jouer avec la position de ton clip en adaptant le
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     Stage.width
    et
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Stage.height
    . Le mieux c'est de faire un trace de la position de ton clip en
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    stage.onResize=maFonctionTest
     
    function maFonctionTest()
    {
      // ...
      trace (monClip._x+" "+monClip._y);
    }
    ...

    La tu devrais savoir exactement ce qu'il en est de ta position réelle
    PS : N'hésite pas à poster tes essais ...
    Aucun de nous n'est seul, Même l'air que nous expirons est inspirés par d'autres...

  3. #3
    Membre à l'essai
    Merci Zulad pour ta réponse.
    Du coup entre temps, j'ai trouvé une solution. Un peu contraignante j' admet mais j'ai quasi fini...

    voici mon code:
    c_hyper_menu._x = 20;
    c_hyper_menu._y = 20;

    Stage.scaleMode = "noScale";
    Stage.align = "TL";
    var stageListener:Object = new Object ();
    stageListener.onResize = positionContent;
    Stage.addListener(stageListener);

    function positionContent():Void {
    c_hyper_menu._x = 20;
    c_hyper_menu._y = 20;
    point0._x = Stage.width /2 - point0._width /2;
    point0._y = Stage.height /2 - point0._height /2;
    nocurs._x = point0._x + 50;
    nocurs._y = point0._y + 33;
    DROPZONE._x = point0._x + 50;
    DROPZONE._y = point0._y + 33;
    logo_3d._x = point0._x + 500.1;
    logo_3d._y = point0._y + 406.8;
    ...
    Je cherchais à centrer ma scène avec le stage.align mais ça ne marchait pas.
    Du coup,
    Là, je place mon menu comme je le souhaite en haut à gauche,
    Je positionne mon image de fond "point0" en centré,
    et je positionne chaque clip par rapport à ce fond de scène.

    et du coup ça fonctionne.