我有几个阶段的事件处理程序,以便能够在舞台上的一些动态生成moviecilps鼠标悬停那然后改变自己的α,表示鼠标移动到特定的MC ...相当微不足道的(mcOver处理程序)。另外,我也想知道MC被点击什么,所以我更新公共变量(公共变种activemc:值)当鼠标移动到它与动态影片剪辑的ID(使用则hitTest来检查,这就是为什么事件监听加入到阶段,而不是在MC),其在mcClicked处理程序检查:AS3的MouseEvent.MOUSE_MOVE事件MouseEvent.CLICK电话后停止响应
这是在构造:
//stage.addEventListener(MouseEvent.MOUSE_DOWN, startDrawing);
//stage.addEventListener(MouseEvent.MOUSE_UP, stopDrawing);
stage.addEventListener(MouseEvent.MOUSE_MOVE, mcOver);
//stage.addEventListener(Event.MOUSE_LEAVE, outlinesHide);
stage.addEventListener(MouseEvent.CLICK, mcClicked);
然而,鼠标悬停行为(阿尔法0时结束,阿尔法1时)只要我点击舞台上的任何动画片段就停止工作,并且mcClicked ID检查(下面)完全停止工作。我不知道这是否是重点做到:
private function mcClicked(event:MouseEvent):void {
myTextField.text = String(activemc); // activemc is a public var:Number with the movieclip //ID
}
然后我尝试添加再次舞台MOUSE_MOVE事件处理程序,这得到鼠标悬停再次但只有1次点击的工作,在这之后停止再次:
private function mcClicked(event:MouseEvent):void {
myTextField.text = String(activemc); // activemc is a public var:Number with the movieclip //ID
stage.addEventListener(MouseEvent.MOUSE_MOVE, mcOver);
}
我会非常感激,如果有人能帮助理清这个真烦人的行为!谢谢!
就在我进一步麻烦你之前,我想我可能已经找到了问题。我会尽快给你更新。 编辑:我解决了它 – dfx 2010-11-07 01:33:29
编辑:我解决了它 - 这是的myTextField.text正与activemc价值,而且在mcOver事件处理程序更新,以检查阶段MCS总数的情况下。因此,如果我使用MC3,那么鼠标悬停行为只适用于动画片段1和2.这仅仅是懒惰和更新共享textField的情况!感谢您的帮助。 – dfx 2010-11-07 01:39:13