2014-02-15 4 views
2

Я хотел бы объединить кучу «краевых анимаций» на моем сайте/webapp, но все <edgeid>_edgePreload.js вызывают головную боль. В общем, что я действительно хотел бы сделать, это:Adobe Premiere-pre preloader

  1. включают JQuery и сам когда-то край,
  2. нагрузки на <egde_id_egde.js файлы через Ajax и
  3. наконец создать композиции на лету,

, чтобы я мог запускать/останавливать/приостанавливать их, когда это необходимо, без использования сценария предварительного загрузчика.

Короче:

Как я могу »зарегистрировать« определения состава, как это было сделано в в сгенерированных файлов определений здесь:

Edge.registerCompositionDefn(compId, symbols, fonts, resources, opts);

так что

Edge.getComposition(<id>) делает вернуть композицию, не используя предварительный загрузчик?

Btw .: Я шагал через исходный код немного и нашел, что определение состава не было okToPlay свойства, что сделало края отказываются возвращать состав.

ответ

3

Из моего опыта вы не можете этого сделать, но вы можете использовать Coordinated Preloading для имитации эффекта.

Если вы хотите загрузить композицию, сначала добавьте это в вашей голове:

<script> window.AdobeEdge = window.AdobeEdge || {}; window.AdobeEdge.bootstrapLoading = true; </script> 

Теперь, когда bootstrapLoading включена, если вы хотите, чтобы вставить определенный комп, создать DIV с классом вы установили в Крае, например, говорит, что у вас есть my_comp1.html, который имеет стадию с классом edge_my_comp1 (по умолчанию это нечто похожее на EDGE-28326120)

<div id="Stage" class="edge_my_comp1"> </div> 

Теперь используйте yepnope или другие условные JavaScript Загрузчик для загрузки композиций по запросу:

var loadedComps = {}; 
yepnope({load: "my_comp1_edgePreload.js", 
        callback: function(url, result, key){  
       //when the script is loaded, run these:  
         AdobeEdge.loadResources(); 
         AdobeEdge.playWhenReady(); 

         AdobeEdge.bootstrapCallback(function(compID){ 
          //then 
          loadedComps[compID] = (AdobeEdge.getComposition(compID)); 
         }); 
      }}); 

Теперь вы можете получить доступ к Компу позже

loadedComps["edge_my_comp1"].play() 

Из моего опыта, вам все еще нужно добавить одну прелоадера к вашим < головам> (например, пустой пусковой предустановитель), потому что в противном случае AdobeEdge.bootstrapCallback -callback никогда не срабатывает, тем самым оставляя вас со скрытым stage, который не анимирует (reference).

После загрузки композиции обратите внимание, что вы не можете загрузить ее снова: вместо этого вам нужно остановить и скрыть композицию, а затем показать ее и снова воспроизвести, когда вы захотите ее снова увидеть.

 Смежные вопросы

  • Нет связанных вопросов^_^