2014-01-17 2 views
1

Есть ли способ получить доступ к данным изображения (данные о детях/трансформации) определенного кадра в MovieClip без использования методов gotoAndStop.AS3 Доступ к кадру без использования gotoAndStop

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

+0

Можно просто поместить его в какой-нибудь «теневой» фильм, превратить его 'visible' в' false', а затем использовать его 'gotoAndStop'? – Cherniv

ответ

4

Не только вы не можете этого сделать, но gotoAndStop() даже не сразу сделает эти данные доступными. Содержимое фрейма не код доступен до тех пор, пока FRAME_CONSTRUCTED Event отправляется при достижении этого кадра, так что вы могли бы на самом деле нужно сделать, это больше похоже на:

var lastFrame:int = currentFrame; 

function ready(e:Event):void 
{ 
    if(currentFrame !== lastFrame) 
    { 
     // In this example, frame 15 is where some image 
     // data we want is. 
     if(currentFrame === 15) 
     { 
      // Get image data. 
      // 
     } 

     lastFrame = currentFrame; 
    } 
} 

addEventListener(Event.FRAME_CONSTRUCTED, ready); 

Излишне говорить; сохранение данных, которые вам нужны во всех кадрах, не является жизнеспособным способом структурирования приложения.

+0

Да, я знаю. Если бы вы могли предложить другой способ хранения векторных данных анимации, созданных во Flash (в мувиклипах), я был бы все уши. Я хотел бы иметь возможность экспортировать в виде коллекции SVG-файлов или подобных. Моя единственная правдоподобная идея - написать сценарий JSFL, который разделяет каждый фрейм на свой собственный клип и индексы по кадру. – Jono

+0

@ Jono Почему бы просто не разбить части, которые вы хотите получить, в свои собственные MovieClips, экспортированные для использования с ActionScript. Таким образом, вы можете создать экземпляр того, что вам нужно, когда вам нужно. – Marty

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