![]() |
|
||||||||||
|
|||||
|
[+1 19.01.09]
[+1 17.03.09] Регистрация: May 2008
Сообщений: 27
|
Есть скрипт по выгрузки действий над объектами в fla файле
на файлах длиной меньше 70 кадров все ок как только эта цифра проходит порог скажем файл в 100 кадров то 1-10-20 кадров будет пропущено, каждый раз эфект разный тоест ьне повторяеться, и чем быстрее машина тем больше скрипт хаваает кадров на ноуте порог в 40 кадров на домашнем пк 100 на рабочем 70 ![]() код документирован более менее чем полностью )
fl.showIdleMessage(false);
Main();
function Main() {
var tl = fl.getDocumentDOM().getTimeline();
var logFile = "file:///compile_log.txt";
FLfile.remove( logFile );
FLfile.write(logFile,"<?xml version=\"1.0\"?>", "append" );
FLfile.write(logFile,"\n\n<ParticleAnimation>", "append" );
/// главный тайм лайн
for (var l = 0; l < tl.layerCount; l++)
{
var layer = tl.layers[l];
/// если не видин слой
if(!layer.visible)
continue;
FLfile.write(logFile,"\n\t<Layer id=\"" + l + "\">", "append" );
for (var f = 0; f < tl.frameCount; f++) {
frame = tl.layers[l].frames[f];
if (frame) {
for(var e = 0; e < frame.elements.length; e++ ) {
elem = frame.elements[e];
if(!elem.libraryItem)
continue;
var name = elem.libraryItem.name;
if(elem.instanceType == "symbol")
{
compilationMovieClip( name, elem.x, elem.y, f, logFile );
}
else
{
/// здесь надо что то вставить
WriteTOFileMovieClip( logFile, elem, elem.x, elem.y, f );
WriteToFileImage( logFile, elem, 0, 0, f );
FLfile.write(logFile,"\n\t\t</MovieClip>", "append" );
}
fl.trace("Frame := " + f + " -------------------------------------");
}
}
}
FLfile.write(logFile,"\n\t</Layer>", "append" );
}
FLfile.write(logFile,"\n\n</ParticleAnimation>", "append" );
}
function compilationMovieClip( name, x, y, Indexframe, logFile )
{
var document = fl.getDocumentDOM();
document.library.editItem( name );
SpecialMain( x, y, Indexframe, logFile );
document.exitEditMode();
}
function SpecialMain( x, y, IndexFrame, logFile )
{
var tl = fl.getDocumentDOM().getTimeline();
for (var l = 0; l < tl.layerCount; l++)
{
var layer = tl.layers[l];
/// если не видин слой
if(!layer.visible)
continue;
/// мини тест
frame = tl.layers[l].frames[ IndexFrame % tl.frameCount ]
if (frame)
{
for(var e = 0; e < frame.elements.length; e++ )
{
elem = frame.elements[e];
if(!elem.libraryItem )
continue;
//var transPoint = elem.getTransformationPoint();
//fl.trace("x := " + transPoint.x + " y := " + transPoint.y + " xt := " + elem.transformX + " y := " + elem.transformY );
var _x = elem.x + x;
var _y = elem.y + y;
if(elem.instanceType == "symbol")
{
//fl.trace("1");
WriteTOFileMovieClip( logFile, elem, _x, _y, IndexFrame );
compilationMovieClip2( elem.libraryItem.name, _x, _y, IndexFrame, logFile );
FLfile.write(logFile,"\n\t\t</MovieClip>", "append" );
}
else
{
WriteTOFileMovieClip( logFile, elem, _x, _y, IndexFrame );
WriteToFileImage( logFile, elem, 0, 0, IndexFrame );
FLfile.write(logFile,"\n\t\t</MovieClip>", "append" );
fl.trace("name := " + elem.libraryItem.name );
//fl.trace("3");
}
}
}
}
}
function WriteTOFileMovieClip( logFile, elem, _x, _y, frame )
{
var mBlendMode = 0;
var mRed = 255;
var mGreen = 255;
var mBlue = 255;
var mAlpha = 255;
if(elem.blendMode == "overlay")
mBlendMode = 1;
else
mBlendMode = 0;
fl.trace("ALPHA := " + elem.colorAlphaPercent );
fl.trace("RED := " + elem.colorRedPercent );
fl.trace("GREEN := " + elem.colorGreenPercent );
fl.trace("BLUE := " + elem.colorBluePercent );
mAlpha = ( 255 / 100) * elem.colorAlphaPercent;
mRed = ( 255 / 100) * elem.colorRedPercent;
mGreen = ( 255 / 100) * elem.colorGreenPercent;
mBlue = ( 255 / 100) * elem.colorBluePercent;
var transPoint = elem.getTransformationPoint();
fl.trace("tx := " + elem.transformX + " ty := " + elem.transformY );
FLfile.write(logFile,"\n\t\t<MovieClip ", "append" );
FLfile.write(logFile," frame=\"" + frame + "\"", "append" );
FLfile.write(logFile," x=\"" + (_x) + "\"", "append" );
FLfile.write(logFile," y=\"" + (_y) + "\"", "append" );
FLfile.write(logFile," centerX=\"" + transPoint.x + "\"", "append" );
FLfile.write(logFile," centerY=\"" + transPoint.y + "\"", "append" );
FLfile.write(logFile," scalex=\"" + elem.scaleX + "\"", "append" );
FLfile.write(logFile," scaley=\"" + elem.scaleY + "\"", "append" );
FLfile.write(logFile," rotation=\"" + elem.rotation + "\"", "append" );
FLfile.write(logFile," alpha=\"" + mAlpha + "\"", "append" );
FLfile.write(logFile," blendMode=\"" + mBlendMode + "\"", "append" );
FLfile.write(logFile," red=\"" + mRed + "\"", "append" );
FLfile.write(logFile," green=\"" + mGreen + "\"", "append" );
FLfile.write(logFile," blue=\"" + mBlue + "\"", "append" );
FLfile.write(logFile," >", "append" );
}
function WriteToFileImage( logFile, elem, _x, _y, frame )
{
fl.trace("MovieClip name := " + elem.libraryItem.name + " x:= " + (_x) + " y:= " + (_y) );
fl.trace("tx := " + elem.transformX + " ty := " + elem.transformY );
fl.trace(" x := " + elem.x + " y := " + elem.y );
var transPoint = elem.getTransformationPoint();
FLfile.write(logFile,"\n\t\t\t<Element ", "append" );
FLfile.write(logFile," name=\"" + elem.libraryItem.name + "\"", "append" );
FLfile.write(logFile," x=\"" + (_x) + "\"", "append" );
FLfile.write(logFile," y=\"" + (_y) + "\"", "append" );
FLfile.write(logFile," centerX=\"" + elem.x + "\"", "append" );
FLfile.write(logFile," centerY=\"" + elem.y + "\"", "append" );
FLfile.write(logFile," />", "append" );
}
function compilationMovieClip2( name, x, y, IndexFrame, logFile )
{
var document = fl.getDocumentDOM();
document.library.editItem( name );
var tl = fl.getDocumentDOM().getTimeline();
for (var l = 0; l < tl.layerCount; l++)
{
var layer = tl.layers[l];
/// если не видин слой
if(!layer.visible)
continue;
/// мини тест
frame = tl.layers[l].frames[ IndexFrame % tl.frameCount ]
if (frame)
{
for(var e = 0; e < frame.elements.length; e++ )
{
elem = frame.elements[e];
if(!elem.libraryItem )
continue;
var _x = elem.x + x;
var _y = elem.y + y;
if(elem.instanceType == "symbol")
{
fl.trace("1");
WriteTOFileMovieClip( logFile, elem, _x, _y, IndexFrame );
compilationMovieClip2( elem.libraryItem.name, _x, _y, IndexFrame, logFile );
FLfile.write(logFile,"\n\t\t</MovieClip>", "append" );
}
else
{
WriteToFileImage( logFile, elem, _x, _y, IndexFrame );
fl.trace("name := " + elem.libraryItem.name );
fl.trace("3");
}
}
}
}
document.exitEditMode();
}
запускаю через run command... |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|