Fix drawing object shape problems

This commit is contained in:
2017-05-18 04:11:30 +07:00
parent d5575c005a
commit 8ca72bf194
3 changed files with 33 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
###### Version 1.3.8
* Fix shape groups in tweens problems
* Fix drawing object shape problems
* Fix locked elements problem
* Fix optimizator bitmap trim problems
* Fix Unity 5.6 submesh sorting bug

View File

@@ -713,6 +713,18 @@
return elem.elementType == "shape" && elem.isGroup;
};
fttim.is_object_shape_instance = function (elem) {
return elem.elementType == "shape" && elem.isDrawingObject;
};
fttim.is_simple_shape_instance = function (elem) {
return elem.elementType == "shape" && !elem.isGroup && !elem.isDrawingObject;
};
fttim.is_complex_shape_instance = function (elem) {
return elem.elementType == "shape" && (elem.isGroup || elem.isDrawingObject);
};
fttim.is_symbol_instance = function (elem) {
return elem.elementType == "instance" && elem.instanceType == "symbol";
};
@@ -902,24 +914,27 @@
timeline.currentFrame = frame_index;
timeline.setSelectedFrames(frame_index, frame_index + 1, true);
var groups = ft.array_filter(frame.elements, fttim.is_group_shape_instance);
ft.array_foreach(groups, function (group, group_index) {
var elements = ft.array_clone(frame.elements);
ft.array_foreach(elements, function (elem, elem_index) {
doc.selectNone();
doc.selection = [group];
var group_depth = group.depth;
doc.selection = [elem];
doc.unGroup();
try {
doc.unlockAllElements();
} catch (e) {}
var wrapper_item_name = ft.gen_unique_name();
var wrapper_item = doc.convertToSymbol("graphic", wrapper_item_name , "top left");
for (var i = 0; i < group_depth; ++i) {
doc.arrange("backward");
if (fttim.is_simple_shape_instance(elem)) {
// nothing
} else if (fttim.is_complex_shape_instance(elem)) {
if (fttim.is_object_shape_instance(elem)) {
doc.breakApart();
doc.group();
}
doc.unGroup();
try {
doc.unlockAllElements();
} catch (e) {}
var wrapper_item = doc.convertToSymbol("graphic", ft.gen_unique_name(), "top left");
new_symbols.push(wrapper_item);
} else {
doc.arrange("front");
}
new_symbols.push(wrapper_item);
});
}, fttim.is_keyframe);
}, fttim.is_not_guide_layer);

View File

@@ -68,6 +68,7 @@ dipyalov: фишка в том, что swf обновился, но и собр
**** TODO Не работает конвертация в batchmod'е
**** DONE В ошибках конвертации не пишется путь до swf
**** DONE Не растеризуются группы в твинах
**** DONE Проблемы с порядком drawing objects и groups при экспорте
**** DONE Unity может переставлять сабмеши на одинаковой глубине (проблема с масками)
https://fogbugz.unity3d.com/default.asp?910858_0diqjnj67814hj3i
http://ru.esotericsoftware.com/forum/Submeshes-render-in-random-order-with-orthographic-camera-8528