-
Notifications
You must be signed in to change notification settings - Fork 189
/
execution-order.js
78 lines (59 loc) · 2.35 KB
/
execution-order.js
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
var movie = new bonsai.Movie();
var movieName = "root";
var dictionary = {
"3": function Sprite_3() {
var movie = new bonsai.Movie();
var movieName = "Sprite_3";
var frames = {
"0": function frame_0() {
console.log('entering frame 0 of child movie');
// VM ops:
// This is where the AS3 ctor is called, and the frame connections are
// made. If the child movie does not have a special class defined in
// SymbolClass, everything is fine.
movie.on('runframescripts', function(){ console.log('standard child movie frame script executing'); })
// now, as a last thing in this frame, call scripts registered for this frame
console.log('emitting event for attached scripts (child movie, frame 0)');
movie.emit('runframescripts', this, movie.currentFrame);
// done, leaving frame
console.log('leaving frame 0 of child movie');
},
"1": function() {
movie.stop();
}
};
movie.frames(frames);
movie.__characterId__ = 3;
return movie;
}
};
var byDepth = {};
var frames =
{
"0": function frame_0() {
console.log('entering frame 0 of parent movie');
// getting a child movie from the dictionary and adding it to the stage
console.log('getting child movie');
var item = dictionary["3"]();
console.log('adding it to stage');
movie.addChild(item, 1);
// VM and SymbolClass ops:
// This is where the AS3 gets executed, and where frame scripts for the main
// movie are attached.
movie.on('runframescripts', function(){ console.log('parent movie frame script executing'); })
// Sadly, this _can_ also be the place, where frame scripts for child movies
// are attached - if they have a special symbol class. You won't see the
// following appear in the console if you are on the instant-play branch.
item.on('runframescripts', function(){ console.log('special child movie frame script executing'); })
// now, as a last thing in this frame, call scripts registered for this frame
console.log('emitting event for attached scripts (parent movie, frame 0)');
movie.emit('runframescripts', this, movie.currentFrame);
// done, exiting frame
console.log('leaving frame 0 of parent movie');
},
"1": function() {
movie.stop();
}
};
movie.frames(frames);
stage.addChild(movie);