genius
30.06.2005, 02:42
из туториала (http://www.actionscript.org/tutorials/advanced/using_eventdispatcher/index.shtml) по EventDispatcher на actionscript.org сделал два класса:
import test.Test2
import mx.utils.Delegate;
import mx.events.EventDispatcher;
class test.Test extends Object {
var test2:Test2;
// переменные функции для EventDispatcher
var addEventListener:Function;
var removeEventListener:Function;
var dispatchEvent:Function
function handleConstruct(eventObj) {
TRACE(Flashout.INFO + "handleConstruct called");
}
function Test() {
Flashout.init();
TRACE(Flashout.INFO + "Application started");
EventDispatcher.initialize(this);
var myClass = new test.Test2(1000);
test2.addEventListener('timeout', Delegate.create(this, handleConstruct));
}
// --- Main Entry Point
static function main() {
var test:Test = new Test();
}
}
-------------------------------------------------------------
import mx.events.EventDispatcher;
import mx.utils.Delegate;
class test.Test2 {
var timeInt:Number;
var addEventListener:Function;
var removeEventListener:Function;
var dispatchEvent:Function;
function handleTimer()
{
TRACE(Flashout.INFO + "handleTimer");
dispatchEvent({type:'timeout', target:this, message:'Hey dude the timer is done', time:getTimer()});
clearInterval(timeInt);
}
function Test2(len)
{
EventDispatcher.initialize(this);
timeInt = setInterval(Delegate.create(this, handleTimer), len);
}
}
handleTimer() срабатывает, а вот handleConstruct() уже нет. в чем моя ошибка? помогите советом, пожалуйста :)
import test.Test2
import mx.utils.Delegate;
import mx.events.EventDispatcher;
class test.Test extends Object {
var test2:Test2;
// переменные функции для EventDispatcher
var addEventListener:Function;
var removeEventListener:Function;
var dispatchEvent:Function
function handleConstruct(eventObj) {
TRACE(Flashout.INFO + "handleConstruct called");
}
function Test() {
Flashout.init();
TRACE(Flashout.INFO + "Application started");
EventDispatcher.initialize(this);
var myClass = new test.Test2(1000);
test2.addEventListener('timeout', Delegate.create(this, handleConstruct));
}
// --- Main Entry Point
static function main() {
var test:Test = new Test();
}
}
-------------------------------------------------------------
import mx.events.EventDispatcher;
import mx.utils.Delegate;
class test.Test2 {
var timeInt:Number;
var addEventListener:Function;
var removeEventListener:Function;
var dispatchEvent:Function;
function handleTimer()
{
TRACE(Flashout.INFO + "handleTimer");
dispatchEvent({type:'timeout', target:this, message:'Hey dude the timer is done', time:getTimer()});
clearInterval(timeInt);
}
function Test2(len)
{
EventDispatcher.initialize(this);
timeInt = setInterval(Delegate.create(this, handleTimer), len);
}
}
handleTimer() срабатывает, а вот handleConstruct() уже нет. в чем моя ошибка? помогите советом, пожалуйста :)