解决-嵌套按钮代码执行问题

      Flash 2004-10-3 20:21
首先说一下:要说的是点击现象,而按钮是继承mc类的,所以下面讨论的用mc和用按钮是一样的,

有一个现象很常见
一个mc1里面嵌套一个mc2,mc2有点击代码onPress或者onRelease,mc1也有的话,那么mc2的代码是无论如何不执行的,因为flash认为mc2是mc1的一部分,点击mc2就等于点击mc1

为什么这样就要问flash author了^^"

不过这里有个比较XX的方法可以解决,代码如下:
onMouseDown = function () {
    var objA = mc1;
    if (objA.hitTest(_root._xmouse, _root._ymouse, true)) {
        var objAA = mc1.mc2;
        if (objAA.hitTest(_root._xmouse, _root._ymouse, true)) {
            trace(objAA);
            return; // 使用return中止代码继续执行
        }
        trace(objA);
    }
};


以上使用了onMouseDown这个怪怪的东西,呵呵
onMouseDown/Up/Move这三个事件,是flash中很独特的东东
首先,像onKeyDown等事件一定要addListener之后才可以使用,而Mouse不需要
其次这种事件是响应全局的,却可以用this返回一个调用对象的引用,而且代码仍是针对全局

我就是利用第二点,解决了嵌套按钮代码执行的问题,不过还是不建议这么使用...~_~!仅仅用来研究下下,嘎嘎

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}