Front-end web developer——[to be a better man]
[Mobile Version] | 文章字体大小Font Size文章字体大小:12px, 14px
31

解决AS3自定义滑鼠光标失焦的方法

在flash里自定义滑鼠光标形状是件很容易而且很觉的事件,但在AS3里却有另一个问题,就是鼠标会被自定义的MC元件遮挡住而无法点击下面的元件。


(如果您无法查看此flash,请点击这里查看。)

式神达人说AS2是不会有这个问题的。我觉得,这正是AS3的改进之处:逻辑更规范合理了(当然也有人觉得AS3很累赘很麻烦,因为代码多了 :P )。

在这里,当MC手型元件跟着光标跑时,真正的光标焦点就落在MC上了,此时MC手型可被点击,而MC手型下方的就被挡住了,光标就无法穿越MC手型到达下面的物件了,这就是原因。解决方法就是取消MC手型的光标,让它不可点击,这样光标焦点就可以重新跳到下一层了。

解决方法的关键代码是:

myCursor.mouseEnabled = false;
myCursor.mouseChildren = false;

为什么AS3要这样做?因为MC手型元件在实质上并不是一个光标,它只是跟着光标运动的一个普通的元件而已,它应该也拥有同样被点击的权利,除非你刻意不允许,而只有不允许时才更适合做一个光标MC。

以上内容参考自:Tips for Using Custom Mouse Cursors in Flash AS3

2 条评论

  • At 2009.04.30 17:32, 小儿强大 said:

    小样,啥事开始研究AS3了,一起一起,吼吼

    • At 2009.04.30 22:55, GOVO said:

      来呀,荒淫荒淫~

      (Required)
      (Required, will not be published)