首先说一下:要说的是点击现象,而按钮是继承mc类的,所以下面讨论的用mc和用按钮是一样的,
有一个现象很常见
一个mc1里面嵌套一个mc2,mc2有点击代码onPress或者onRelease,mc1也有的话,那么mc2的代码是无论如何不执行的,因为flash认为mc2是mc1的一部分,点击mc2就等于点击mc1
为什么这样就要问flash author了^^"
不过这里有个比较XX的方法可以解决,代码如下:
以上使用了onMouseDown这个怪怪的东西,呵呵
onMouseDown/Up/Move这三个事件,是flash中很独特的东东
首先,像onKeyDown等事件一定要addListener之后才可以使用,而Mouse不需要
其次这种事件是响应全局的,却可以用this返回一个调用对象的引用,而且代码仍是针对全局
我就是利用第二点,解决了嵌套按钮代码执行的问题,不过还是不建议这么使用...~_~!仅仅用来研究下下,嘎嘎
有一个现象很常见
一个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返回一个调用对象的引用,而且代码仍是针对全局
我就是利用第二点,解决了嵌套按钮代码执行的问题,不过还是不建议这么使用...~_~!仅仅用来研究下下,嘎嘎
回复Comments
作者:
{commentrecontent}