tests: Add tests for AS3 gotos during `enterFrame`, `frameConstructed`, and/or `exitFrame`
This commit is contained in:
parent
c10417ddb8
commit
4d3788bfe1
|
@ -373,9 +373,12 @@ swf_tests! {
|
|||
(as3_movieclip_dispatchevent_selfadd, "avm2/movieclip_dispatchevent_selfadd", 1),
|
||||
(as3_movieclip_dispatchevent_target, "avm2/movieclip_dispatchevent_target", 1),
|
||||
(as3_movieclip_dispatchevent, "avm2/movieclip_dispatchevent", 1),
|
||||
(as3_movieclip_displayevents_constructframegoto, "avm2/movieclip_displayevents_constructframegoto", 12),
|
||||
(as3_movieclip_displayevents_constructframeplay, "avm2/movieclip_displayevents_constructframeplay", 6),
|
||||
(as3_movieclip_displayevents_dblhandler, "avm2/movieclip_displayevents_dblhandler", 4),
|
||||
(as3_movieclip_displayevents_enterframegoto, "avm2/movieclip_displayevents_enterframegoto", 12),
|
||||
(as3_movieclip_displayevents_enterframeplay, "avm2/movieclip_displayevents_enterframeplay", 6),
|
||||
(as3_movieclip_displayevents_exitframegoto, "avm2/movieclip_displayevents_exitframegoto", 12),
|
||||
(as3_movieclip_displayevents_exitframeplay, "avm2/movieclip_displayevents_exitframeplay", 6),
|
||||
(as3_movieclip_displayevents_looping, "avm2/movieclip_displayevents_looping", 5),
|
||||
(as3_movieclip_displayevents_timeline, "avm2/movieclip_displayevents_timeline", 7),
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package {
|
||||
import flash.display.MovieClip;
|
||||
import flash.events.Event;
|
||||
|
||||
public class EventWatcher extends MovieClip {
|
||||
public function EventWatcher() {
|
||||
super();
|
||||
this.setup();
|
||||
}
|
||||
|
||||
function trace_event(event: Event) {
|
||||
trace(this.name + " (frame " + this.currentFrame + "):" + event);
|
||||
}
|
||||
|
||||
public function setup() {
|
||||
this.addEventListener(Event.ENTER_FRAME, this.trace_event);
|
||||
this.addEventListener(Event.EXIT_FRAME, this.trace_event);
|
||||
this.addEventListener(Event.ADDED, this.trace_event);
|
||||
this.addEventListener(Event.ADDED_TO_STAGE, this.trace_event);
|
||||
this.addEventListener(Event.FRAME_CONSTRUCTED, this.trace_event);
|
||||
this.addEventListener(Event.REMOVED, this.trace_event);
|
||||
this.addEventListener(Event.REMOVED_FROM_STAGE, this.trace_event);
|
||||
this.addEventListener(Event.RENDER, this.trace_event);
|
||||
}
|
||||
|
||||
public function destroy() {
|
||||
this.removeEventListener(Event.ENTER_FRAME, this.trace_event);
|
||||
this.removeEventListener(Event.EXIT_FRAME, this.trace_event);
|
||||
this.removeEventListener(Event.ADDED, this.trace_event);
|
||||
this.removeEventListener(Event.ADDED_TO_STAGE, this.trace_event);
|
||||
this.removeEventListener(Event.FRAME_CONSTRUCTED, this.trace_event);
|
||||
this.removeEventListener(Event.REMOVED, this.trace_event);
|
||||
this.removeEventListener(Event.REMOVED_FROM_STAGE, this.trace_event);
|
||||
this.removeEventListener(Event.RENDER, this.trace_event);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
package {
|
||||
import flash.display.MovieClip;
|
||||
import flash.events.Event;
|
||||
|
||||
public class MainTimeline extends EventWatcher {
|
||||
var invocation = 0;
|
||||
|
||||
var destroy_me = false;
|
||||
|
||||
public function MainTimeline() {
|
||||
super();
|
||||
this.addEventListener(Event.FRAME_CONSTRUCTED, this.construct_frame_controller);
|
||||
this.addEventListener(Event.EXIT_FRAME, this.exit_frame_controller);
|
||||
}
|
||||
|
||||
function inspect() {
|
||||
var children = "", child;
|
||||
|
||||
for (var i = 0; i < this.numChildren; i += 1) {
|
||||
child = this.getChildAt(i);
|
||||
if (child) {
|
||||
children += child.name + " ";
|
||||
}
|
||||
}
|
||||
|
||||
trace("///Children:", children);
|
||||
}
|
||||
|
||||
function construct_frame_controller(evt: Event) {
|
||||
this.invocation++;
|
||||
|
||||
switch (this.invocation) {
|
||||
default:
|
||||
break;
|
||||
case 3:
|
||||
trace("/// (gotoAndStop(3) in frameConstructed...)");
|
||||
this.gotoAndStop(3);
|
||||
break;
|
||||
case 5:
|
||||
trace("/// (gotoAndPlay(1) in frameConstructed...)");
|
||||
this.gotoAndPlay(1);
|
||||
break;
|
||||
case 9:
|
||||
trace("/// (gotoAndPlay(3) in frameConstructed...)");
|
||||
this.gotoAndPlay(3);
|
||||
break;
|
||||
case 13:
|
||||
trace("/// (gotoAndStop(2) in frameConstructed...)");
|
||||
this.gotoAndStop(2);
|
||||
this.destroy_me = true;
|
||||
break;
|
||||
}
|
||||
|
||||
this.inspect();
|
||||
}
|
||||
|
||||
function exit_frame_controller(evt: Event) {
|
||||
this.inspect();
|
||||
|
||||
if (this.destroy_me) {
|
||||
this.stop();
|
||||
this.destroy();
|
||||
this.removeEventListener(Event.FRAME_CONSTRUCTED, this.construct_frame_controller);
|
||||
this.removeEventListener(Event.EXIT_FRAME, this.exit_frame_controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="addedToStage" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndStop(3) in frameConstructed...)
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
//MainTimeline frame 3
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndPlay(1) in frameConstructed...)
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
//MainTimeline frame 3
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndPlay(3) in frameConstructed...)
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 3):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 3):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
//MainTimeline frame 3
|
||||
// symbol_b frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndStop(2) in frameConstructed...)
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
//MainTimeline frame 2
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,37 @@
|
|||
package {
|
||||
import flash.display.MovieClip;
|
||||
import flash.events.Event;
|
||||
|
||||
public class EventWatcher extends MovieClip {
|
||||
public function EventWatcher() {
|
||||
super();
|
||||
this.setup();
|
||||
}
|
||||
|
||||
function trace_event(event: Event) {
|
||||
trace(this.name + " (frame " + this.currentFrame + "):" + event);
|
||||
}
|
||||
|
||||
public function setup() {
|
||||
this.addEventListener(Event.ENTER_FRAME, this.trace_event);
|
||||
this.addEventListener(Event.EXIT_FRAME, this.trace_event);
|
||||
this.addEventListener(Event.ADDED, this.trace_event);
|
||||
this.addEventListener(Event.ADDED_TO_STAGE, this.trace_event);
|
||||
this.addEventListener(Event.FRAME_CONSTRUCTED, this.trace_event);
|
||||
this.addEventListener(Event.REMOVED, this.trace_event);
|
||||
this.addEventListener(Event.REMOVED_FROM_STAGE, this.trace_event);
|
||||
this.addEventListener(Event.RENDER, this.trace_event);
|
||||
}
|
||||
|
||||
public function destroy() {
|
||||
this.removeEventListener(Event.ENTER_FRAME, this.trace_event);
|
||||
this.removeEventListener(Event.EXIT_FRAME, this.trace_event);
|
||||
this.removeEventListener(Event.ADDED, this.trace_event);
|
||||
this.removeEventListener(Event.ADDED_TO_STAGE, this.trace_event);
|
||||
this.removeEventListener(Event.FRAME_CONSTRUCTED, this.trace_event);
|
||||
this.removeEventListener(Event.REMOVED, this.trace_event);
|
||||
this.removeEventListener(Event.REMOVED_FROM_STAGE, this.trace_event);
|
||||
this.removeEventListener(Event.RENDER, this.trace_event);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
package {
|
||||
import flash.display.MovieClip;
|
||||
import flash.events.Event;
|
||||
|
||||
public class MainTimeline extends EventWatcher {
|
||||
var invocation = 0;
|
||||
|
||||
var destroy_me = false;
|
||||
|
||||
public function MainTimeline() {
|
||||
super();
|
||||
this.addEventListener(Event.ENTER_FRAME, this.enter_frame_controller);
|
||||
this.addEventListener(Event.EXIT_FRAME, this.exit_frame_controller);
|
||||
}
|
||||
|
||||
function inspect() {
|
||||
var children = "", child;
|
||||
|
||||
for (var i = 0; i < this.numChildren; i += 1) {
|
||||
child = this.getChildAt(i);
|
||||
if (child) {
|
||||
children += child.name + " ";
|
||||
}
|
||||
}
|
||||
|
||||
trace("///Children:", children);
|
||||
}
|
||||
|
||||
function enter_frame_controller(evt: Event) {
|
||||
switch (this.invocation) {
|
||||
default:
|
||||
break;
|
||||
case 2:
|
||||
trace("/// (gotoAndStop(3) in enterFrame...)");
|
||||
this.gotoAndStop(3);
|
||||
break;
|
||||
case 4:
|
||||
trace("/// (gotoAndPlay(1) in enterFrame...)");
|
||||
this.gotoAndPlay(1);
|
||||
break;
|
||||
case 7:
|
||||
trace("/// (gotoAndPlay(3) in enterFrame...)");
|
||||
this.gotoAndPlay(3);
|
||||
break;
|
||||
case 10:
|
||||
trace("/// (gotoAndStop(2) in enterFrame...)");
|
||||
this.gotoAndStop(2);
|
||||
this.destroy_me = true;
|
||||
break;
|
||||
}
|
||||
|
||||
this.invocation++;
|
||||
this.inspect();
|
||||
}
|
||||
|
||||
function exit_frame_controller(evt: Event) {
|
||||
this.inspect();
|
||||
|
||||
if (this.destroy_me) {
|
||||
this.stop();
|
||||
this.destroy();
|
||||
this.removeEventListener(Event.ENTER_FRAME, this.enter_frame_controller);
|
||||
this.removeEventListener(Event.EXIT_FRAME, this.exit_frame_controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="addedToStage" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children:
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 3
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndStop(3) in enterFrame...)
|
||||
root1 (frame 3):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 3):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 3
|
||||
// symbol_b frame 1
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndPlay(1) in enterFrame...)
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children:
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 3
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndPlay(3) in enterFrame...)
|
||||
root1 (frame 3):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 3):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 3
|
||||
// symbol_b frame 1
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children:
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children:
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndStop(2) in enterFrame...)
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,37 @@
|
|||
package {
|
||||
import flash.display.MovieClip;
|
||||
import flash.events.Event;
|
||||
|
||||
public class EventWatcher extends MovieClip {
|
||||
public function EventWatcher() {
|
||||
super();
|
||||
this.setup();
|
||||
}
|
||||
|
||||
function trace_event(event: Event) {
|
||||
trace(this.name + " (frame " + this.currentFrame + "):" + event);
|
||||
}
|
||||
|
||||
public function setup() {
|
||||
this.addEventListener(Event.ENTER_FRAME, this.trace_event);
|
||||
this.addEventListener(Event.EXIT_FRAME, this.trace_event);
|
||||
this.addEventListener(Event.ADDED, this.trace_event);
|
||||
this.addEventListener(Event.ADDED_TO_STAGE, this.trace_event);
|
||||
this.addEventListener(Event.FRAME_CONSTRUCTED, this.trace_event);
|
||||
this.addEventListener(Event.REMOVED, this.trace_event);
|
||||
this.addEventListener(Event.REMOVED_FROM_STAGE, this.trace_event);
|
||||
this.addEventListener(Event.RENDER, this.trace_event);
|
||||
}
|
||||
|
||||
public function destroy() {
|
||||
this.removeEventListener(Event.ENTER_FRAME, this.trace_event);
|
||||
this.removeEventListener(Event.EXIT_FRAME, this.trace_event);
|
||||
this.removeEventListener(Event.ADDED, this.trace_event);
|
||||
this.removeEventListener(Event.ADDED_TO_STAGE, this.trace_event);
|
||||
this.removeEventListener(Event.FRAME_CONSTRUCTED, this.trace_event);
|
||||
this.removeEventListener(Event.REMOVED, this.trace_event);
|
||||
this.removeEventListener(Event.REMOVED_FROM_STAGE, this.trace_event);
|
||||
this.removeEventListener(Event.RENDER, this.trace_event);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package {
|
||||
import flash.display.MovieClip;
|
||||
import flash.events.Event;
|
||||
|
||||
public class MainTimeline extends EventWatcher {
|
||||
var invocation = 0;
|
||||
|
||||
var destroy_me = false;
|
||||
|
||||
public function MainTimeline() {
|
||||
super();
|
||||
this.addEventListener(Event.EXIT_FRAME, this.exit_frame_controller);
|
||||
}
|
||||
|
||||
function inspect() {
|
||||
var children = "", child;
|
||||
|
||||
for (var i = 0; i < this.numChildren; i += 1) {
|
||||
child = this.getChildAt(i);
|
||||
if (child) {
|
||||
children += child.name + " ";
|
||||
}
|
||||
}
|
||||
|
||||
trace("///Children:", children);
|
||||
}
|
||||
|
||||
function exit_frame_controller(evt: Event) {
|
||||
this.invocation++;
|
||||
|
||||
switch (this.invocation) {
|
||||
default:
|
||||
break;
|
||||
case 3:
|
||||
trace("/// (gotoAndStop(3) in exitFrame...)");
|
||||
this.gotoAndStop(3);
|
||||
break;
|
||||
case 5:
|
||||
trace("/// (gotoAndPlay(1) in exitFrame...)");
|
||||
this.gotoAndPlay(1);
|
||||
break;
|
||||
case 8:
|
||||
trace("/// (gotoAndPlay(3) in exitFrame...)");
|
||||
this.gotoAndPlay(3);
|
||||
break;
|
||||
case 12:
|
||||
trace("/// (gotoAndStop(2) in exitFrame...)");
|
||||
this.gotoAndStop(2);
|
||||
this.destroy_me = true;
|
||||
break;
|
||||
}
|
||||
|
||||
this.inspect();
|
||||
|
||||
if (this.destroy_me) {
|
||||
this.stop();
|
||||
this.destroy();
|
||||
this.removeEventListener(Event.EXIT_FRAME, this.exit_frame_controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="addedToStage" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 3
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndStop(3) in exitFrame...)
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndPlay(1) in exitFrame...)
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 3
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndPlay(3) in exitFrame...)
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 1):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 1
|
||||
// symbol_a frame 1
|
||||
root1 (frame 1):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_a
|
||||
root1 (frame 1):[Event type="removed" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="added" bubbles=true cancelable=false eventPhase=3]
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
// symbol_b frame 1
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
root1 (frame 3):[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
root1 (frame 3):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 3
|
||||
root1 (frame 3):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
/// (gotoAndStop(2) in exitFrame...)
|
||||
root1 (frame 2):[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2]
|
||||
//MainTimeline frame 2
|
||||
root1 (frame 2):[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2]
|
||||
///Children: symbol_b
|
||||
///Children: symbol_b
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue