-
Notifications
You must be signed in to change notification settings - Fork 0
/
animationbuilder.html
146 lines (116 loc) · 6.56 KB
/
animationbuilder.html
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Animation Builder</title>
<script src="js/knockout-3.1.0.js"></script>
<script src="js/animationbuilder.js"></script>
<link rel="stylesheet" type="text/css" href="css/animationbuilder.css">
<link rel="stylesheet" type="text/css" href="jsoneditor/jsoneditor-min.css">
<script type="text/javascript" src="jsoneditor/jsoneditor-min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="jquery-ui-1.10.4/jquery-1.10.2.js"></script>
<script src="jquery-ui-1.10.4/ui/jquery-ui.js"></script>
<script src="js/jquery.growl.js" type="text/javascript"></script>
<link href="css/jquery.growl.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#keyframes">Key Frames</a></li>
<li><a href="#testing">Testing and Output</a></li>
</ul>
<div id="keyframes">
<p>Managing the animation key frames for: <input data-bind="value: editanimation().name " id="keyframeanimationname"/>
<button data-bind="click: addAnimationName" id="addanimationname">add</button>
<select data-bind="options: animations,
optionsText: 'name',
value: selectedanimation,
attr:{size: 2}"></select>
<button data-bind="click: removeAnimationName" id="removeanimationname">remove</button></p>
<p>What's the width and height of "<label data-bind="text:editanimation().name" id="animationname"></label>"
<label for="keyframeblockwidth">Width</label>
<input data-bind="value:editanimation().width" name="keyframeblockwidth" id="keyframeblockwidth" length="5"/>
<label for="keyframeblockwidth">Height</label>
<input data-bind="value:editanimation().height" name="keyframeblockheight" id="keyframeblockheight" length="5"/>
<br>
</p>
<p>Specify a key frame block name and dimentions, and describe the segment of an animation, example: walk-up, walk-down, walk-left, walk-right.
<br>Then specify the source images of each.</p>
<br><br>
<label for="keyframeblockname">Key Frame Block Name</label>
<input data-bind="value:editanimation().editkeyframeblock().name" name="keyframeblockname" id="keyframeblockname" length="30"/>
<button data-bind="click: addKeyFrameBlock" id="addkeyframeblockname">add</button>
<select data-bind="options: editanimation().keyFrameBlocks,
optionsText: 'name',
value: selectedkeyframeblock,
attr:{size: 2}" id="keyframeblocknameoptions"></select>
<button data-bind="click: removeKeyFrameBlock" id="removekeyframeblockname">remove</button>
<br>
<label for="keyframesource">image source:</label>
<input data-bind="value:editanimation().editkeyframeblock().editimagesrc" name="keyframesource" id="keyframesource" length="30"/>
<button data-bind="click: addImageSource" id="addimagesource">add</button>
<br>
<select data-bind="options: editanimation().editkeyframeblock().imageSrcs,
value: selectedimagesrc,
attr:{size: 2}" id="keyframesrcs" name="keyframesrcs" >
</select>
<button data-bind="click: removeImageSource" id="removeimagesource">remove</button>
<img border="5" data-bind="attr:{src:editanimation().editkeyframeblock().editimagesrc(), width:editanimation().width, height:editanimation().height}"/>
<br><br>
<label for="timeblockname">Time Block Name</label>
<input data-bind="value:editanimation().edittimeblock().name" name="timeblockname" id="timeblockname" length="30"/>
<button data-bind="click: addTimeBlock" id="addtimeblockname">add</button>
<select data-bind="options: editanimation().timeBlocks,
optionsText: 'name',
value: selectedtimeblock,
attr:{size: 2}" id="timeblocknames" name="timeblocknames">
</select>
<button data-bind="click: removeTimeBlock" id="removetimeblockname">remove</button>
<br><br>
<label for="timevalues">Time</label>
<input data-bind="value:editanimation().edittimeblock().edittime()? editanimation().edittimeblock().edittime().val:0" id="timevalues" name="timevalues"/>ms
<button data-bind="click: addTime" id="addtimeblockvalue">add</button>
<select data-bind="options: editanimation().edittimeblock().times,
value: selectedtime,
optionsText: 'val',
attr:{size: 2}" name="timeblockvalues" >
</select>
<button data-bind="click: removeTime" id="removetimeblockvalue">remove</button>
</div>
<div id="testing">
<label for="testingselectedanimationname">Animation: </label>
<select id="testingselectedanimationname" data-bind="options: animations,
optionsText: 'name',
value: selectedtestinganimation"></select>
<label for="testingkeyframeblock">Key Frame Block: </label>
<select id="testingkeyframeblock" data-bind="options: selectedtestinganimation() ? selectedtestinganimation().keyFrameBlocks : [],
optionsText: 'name',
value: selectedtestingkeyframeblock,
attr:{size: 2}"></select>
<br>
<label for="testingselectedtimeblockname">Time Block: </label>
<select data-bind="options: selectedtestinganimation()?selectedtestinganimation().timeBlocks:[],
optionsText: 'name',
value: selectedtestingtimeblock" name="testingselectedtimeblockname" id="testingselectedtimeblockname">
</select>
<select data-bind="options: selectedtestingtimeblock()?selectedtestingtimeblock().times:[],
optionsText: 'val',
attr:{size: 2}" name="timeblockvalues" ></select>
<button data-bind="click: startStopAnimationTest, text: animationrunning()?'stop':'start'" id="startstopanimationtest">test</button>
<img border="5" data-bind="attr:{src:animationtestingsource(), width:(selectedtestinganimation()?selectedtestinganimation().width:5), height:(selectedtestinganimation()?selectedtestinganimation().height:5)}"/>
<br>
<button data-bind="click:onOutputAllAnimations">output all</button>
<div id="outereditor" class="inputarea">
<div id="jsoneditor" class="inputarea"> </div>
</div>
</div>
<script>
$(function() {
$( "#tabs" ).tabs();
});
document.animationbuilder = animationbuilder;
animationbuilder.initialize();
</script>
</body>
</html>