module inscription newsletter haut de page forum mobile

Dismiss Notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
Dismiss Notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Dismiss Notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

probleme avec un script

Discussion in 'Adobe After Effects' started by thieumf, Sep 22, 2006.

Tags:
  1. thieumf

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    58
    Appréciations:
    +0 / 0 / -0
    [RÉSOLU]probleme avec un script

    Bonjour, j'essaie de m'initier au scripting grace à l'excellent site de nab17connection
    et cherche à réaliser un script tout simple me permettant de changer la taille et la position de tous les calques d'une composition:

    Code:
      app.beginUndoGroup("changement taille");
    
    myComp = app.project.activeItem;
    
    myLayers = myComp.selectedLayers;
        
    myLayers.scale.setValue([ 107, 107 ]);
    myLayers.position.setValue([ 358, 296 ]);    
    
      app.endUndoGroup();
    mais voila, la console de debuggage me renvoie l'erreur

    "undefined n'est pas un objet" en mettant la ligne
    Code:
    myLayers.scale.setValue([ 107, 107 ]);
    en surbrillance.

    Comme je suis plutôt débutant en javascript, est-ce que quelqu'un peut m'expliquer la teneur de ce message d'erreur ?

    merci par avance.
     
    #1 thieumf, Sep 22, 2006
    Last edited: Sep 22, 2006
  2. thieumf

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    58
    Appréciations:
    +0 / 0 / -0
    Apparement, ce que le script n'a pas aimé, c'est la partie

    mySelectedLayers = myComp.selectedLayers;

    Car en changeant celle-ci par une boucle permettant d'agir sur chacun des calques de ma composition, (1 par 1) comme le script suivant:

    Code:
    app.beginUndoGroup ("size");
    var myComp = app.project.activeItem;
    	if (myComp == null || !(myComp instanceof CompItem)) 
       			alert("Vous devez sélectionner une composition");
    
    for (var b = 1; b <= myComp.numLayers; ++b){ 
    var curLayer = myComp.layer(b); 
    		
    curLayer.scale.setValue([107,107]);
    curLayer.position.setValue([358,296]);
    }
    app.endUndoGroup();
    cela fonctionne parfaitement.

    Si quelqu'un veux bien prendre un instant pour m'expliquer pourquoi mon "selectedLayers" n'a pas fonctionné, je lui en serai reconnaissant !

    J'ai trouvé de l'aide en m'inspirant du tutoriel suivant:

    AE ENHANCERS :: View topic - BEGINNER TUTORIAL : Add Slider/Expression to a comp
     
  3. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    salut thieumf,
    cela ne fonctionnait pas car "selectedLayers" represente un tableau contenant tous les calques sélectionnés dans une composition.
    Si tu souhaites modifier uniquement les calques sélectionnés par exemple, tu pourras écrire quelque chose comme ca:

    Code:
    var myComp = app.project.activeItem;
    var mySelectedLayers = myComp.selectedLayers;
    for (var i = 0; i < mySelectedLayers.length; i++) {
       var curLayer = mySelectedLayers[i];
       // ...
       // là tu remplis suivant ce que tu veux faire
       // ...
    }
    
     
Loading...

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous