flash事件模型核心:监听器和广播器
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
广播器添加个新的监听器。removeListener可以让你除去一个。broadcastMessage是一个产生用来发送到监听器的事件(像onMouseDown)的命令。而_listeners是一个关联到这个广播器的所有监听器的列表。因此, 我们使用ASBroadcaster有下列的方法:
ASBroadcaster.initialize(objToBroadcast); objToBroadcast.addListener(listenObj); objToBroadcast.removeListener(listenObj); objToBroadcast.broadcastMessage("event"); objToBroadcast._listeners; 中文参考如下,flash中可以用中文变量名和函数名。 ASBroadcaster.initialize(广播器); 广播器.addListener(监听器); 广播器.removeListener(监听器); 广播器.broadcastMessage("事件"); 广播器._listeners; 注意到你没有像使用其它的对象一样,用new关键字为ASBroadcaster对象建立一个实例。初始化函数是一个简单的对象容器, 你可以把它看成一个独立的函数。只有当一个对象被初始化为另一个对象的事件监听器的时候,ASBroadcaster发出的事件才会生效。 拿Mouse对象来说吧, 它会在Flash中用ASBroadcaster自动初始化。它具有addListener和removeListener方法让你可以自行增加和删除你的监听器,并且当你按下、移动或者释放你的鼠标的时候,broadcastMessage方法也会自动执行。所以如果你按下你的鼠标,Flash会在内部执行下面的代码: Mouse.broadcastMessage("onMouseDown"); 所有的Mouse对象的监听器, 比如movieclip(在flash中自动定义为Mouse对象的监听器),就会识别onMouseDown,并且运行关联的动作。 例2. 现在我们对ASBroadcaster有了一个简单的了解,我们可以用broadcaster对象自定义自己的广播器和响应它的监听器。这个例子还会沿用例一,那是属于你的监听器。它可以识别和监听事件的发生。 在这个例子里,我将会带你回到古老的两千多年前, 那儿有一个统治别人的国王和一些被驱使的奴仆。我们在这里所做的就是产生几个对象(一个是国王和一个从属于他的奴仆),然后用ASBroadcaster对控制他们之间的交互作用。国王, 作为国王,它将下达命令,而我们的奴仆将监听命令,当命令到达的时候就会执行一个特定的动作。所以我们必须建立这些对象,分别给这些对象定义属于它们的特点和能力。拿国王为例,当我们定义它为驱使者(用ASBroadcast.initialize)。这时我们的奴仆必须被驱使(用addListener),它成为国王的一个服务者并且被用命令指派它的工作。这里是代码: King = {}; // 产生国王 ASBroadcaster.initialize(King); // 初始化国王为驱使者 subject = {}; // 产生奴仆 King.addListener(subject); //把它加到国王的被驱使者 //告诉我们的奴仆,他应该做的事 subject.onKingScream = function(){ trace("带葡萄过来!"); } // 这里我们让国王高吼两次, 用来加强语气,:) King.broadcastMessage("onKingScream"); King.broadcastMessage("onKingScream"); 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: substr函数的用法(鼠标跟随文字飘舞)下一篇: 一个放大效果
关于flash事件模型核心:******和广播器的所有评论