-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDelete.jsfl
125 lines (106 loc) · 4.57 KB
/
Delete.jsfl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
timo
TIMONOTE CONFIDENTIAL
Copyright 2014 Timonote Animation.All Rights Reserved.
NOTICE: All information contained herein is, and remains the
property of Timonote Animation , if any.
The intellectual and technical concepts contained
herein are proprietary to Timonote Animation and its
suppliers and may be covered by Japan and Foreign Patents,
patents in process, and are protected by trade secret or
copyright law. Dissemination of this information or
reproduction of this material is strictly forbidden unless
prior written permission is obtained from Timonote Animation.
ちものとコンフィデンシャル
注意:すべてのプログラム情報は下書に書かれている通り、
ちものとアニメーションの知的·技術的な概念財産 が含まれています。
これはちものとアニメーション独自のもので、その知的財産は
日本と外国の特許の対象となる場合があり、サプライヤー、
プロセスの特許は、営業秘密及び著作権法により保護されています。
この情報の発信やプログラムの複製は厳密に禁止されており、
事前に書面によるちものとアニメーションからの許可書が必要です。
*/
//変数
var fdoc = fl.getDocumentDOM();
var fltl = fdoc.getTimeline();
var myLayerArray = fltl.getSelectedLayers();
var myFrameArray = fltl.getSelectedFrames();
var countLA = myLayerArray.length;
var countFA = myFrameArray.length;
var KLayer = fltl.currentLayer;
var KFrame = fltl.currentFrame;
//1フレームのみ選択
if(countLA == 1 && myFrameArray[2]-myFrameArray[1] == 1 && countFA == 3)
{
func();
}
//フレームを選択していない
else if(countFA == 0)
{
//現在のフレームを選択
fltl.setSelectedFrames(KFrame,KFrame + 1);
func();
fdoc.selectNone();
fltl.setSelectedFrames([]);
}
//フレームを複数選択している
else
{
var prePosition = fltl.getSelectedFrames();
var hozonKFrame = fltl.currentFrame;
var FS = fltl.layers[KLayer].frames[KFrame].duration;
//条件追加選択1以上でも1フレーム全選択の場合軽量処理。
if (FS == [myFrameArray[2] - myFrameArray[1]])
func();
else
{
for (var i = 0; i < countFA; i++)
{
if (i % 3 == 0)
{
var FAhani = myFrameArray[i + 2] - myFrameArray[i + 1];
//選択範囲のみ適応
for (var j = 0; j < FAhani; j++)
{
//作業箇所選択
fltl.setSelectedLayers(myFrameArray[i]);
//現在のレイヤーのフレーム数を取得
var KLayerFcount = fltl.layers[myFrameArray[i]].frameCount;
//選択時のキーフレームこぼし拾い
if((myFrameArray[i + 1] + j) < KLayerFcount && j == 0
&& myFrameArray[i + 1] + j != fltl.layers[myFrameArray[i]].frames[myFrameArray[i + 1] + j].startFrame)
{
KFrameSF = fltl.layers[myFrameArray[i]].frames[myFrameArray[i + 1]].startFrame
fltl.setSelectedFrames(KFrameSF, KFrameSF + 1);
KLayer = myFrameArray[i];
KFrame = KFrameSF;
func();
}
//フレームのないエリアは処理しない。キーフレームのみ処理
if ((myFrameArray[i + 1] + j) < KLayerFcount
&& myFrameArray[i + 1] + j == fltl.layers[myFrameArray[i]].frames[myFrameArray[i + 1] + j].startFrame)
{
fltl.setSelectedFrames(myFrameArray[i + 1] + j, myFrameArray[i + 1] + j + 1);
KLayer = myFrameArray[i];
KFrame = myFrameArray[i + 1] + j;
func();
}
}
}
}
//保存された選択範囲を再現
fltl.setSelectedFrames(prePosition);
fltl.currentFrame = hozonKFrame;
}
}
//函数
function func()
{
var OK1 = fltl.layers[KLayer].locked;
OK1 = (OK1 == false) ? 1 : 0;
var OK2 = fltl.layers[KLayer].visible;
OK2 = (OK2 == true) ? 1 : 0;
var OK3 = fltl.layers[KLayer].frames[KFrame].elements;
if(OK1 + OK2 == 2 && OK3 != false){fdoc.deleteSelection();}
// if(OK1 + OK2 == 2){fdoc.deleteSelection();}
}