![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2007
Сообщений: 16
|
Прошу совета у людей часто использующих jsfl. Возникла вот такая проблема.
Мне нужна пакетная (сразу несколько файлов) обработка fla файлов. В них добавляется окружность и заливается выглядит это так: doc.getTimeline().addNewLayer("shadow", "normal", false);
doc.addNewOval({left:0, top:0, right:object_width, bottom:object_height}, false, true);
doc.selectAll();
var shadow_fill = getShadowFill(doc);
doc.setCustomFill(shadow_fill);
function getShadowFill(doc) {
var fill = doc.getCustomFill();
fill.color = "#000000";
fill.style = "radialGradient";
fill.posArray = [0, 220];
fill.colorArray = ["#0000004d","#00000000"];
fill.overflow = "extend";
fill.linearRGB = true;
fill.focalPoint = 0;
var matrix = doc.selection[0].matrix;
matrix.a = Math.random()*0.1;
matrix.b = 0;
matrix.c = 0;
matrix.d = Math.random()*0.1;
matrix.tx = 0;
matrix.ty = 0;
return fill;
}
Если setCustomFill сделать до добавления окружности, Flash падает. После этого я сделал обработку через setInterval(), но ситуация не изменилась. Если кто знает как можно это побороть, буду крайне благодарен. |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 16
|
Эх.. Спасибо ответившим.
Нашел решение сам. Для того что бы такой ситуации не возникало, надо делать окно файла, над которым вы работаете, активным. То есть, правильный проход будет таким: var docs = fl.documents;
for (var i = 0; i < docs.length; i++) {
var doc = docs[i];
fl.setActiveWindow(doc);
doc.getTimeline().addNewLayer("shadow", "normal", false);
doc.addNewOval({left:0, top:0, right:100, bottom:100}, false, true);
doc.selectAll();
var shadow_fill = getShadowFill(doc);
doc.setCustomFill(shadow_fill);
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|