遇flash难题:所有影片剪辑元件的响应区域都是方形的,怎么使它按实际图形?

来源:百度知道 编辑:UC知道 时间:2024/05/21 14:09:54
遇flash难题:所有影片剪辑元件的响应区域都是方形的,怎么使它按实际图形?比如想做一个圆形影片剪辑,当鼠标在其内部点击时播放某一影片。现在是鼠标在圆外的某些区域也播放。因为该元件实际是个方形的。
我想作打靶影片:拖动影片剪辑a(枪准星)到影片剪辑b(靶)画面中,然后单击播放影片c(洞).在a中代码是这样写的:
on (release) {
if (this.hitTest(_root.b)) {
this._parent.c.play();
this._parent.c._x = this._parent.a._x;
this._parent.c._y = this._parent.a._y;
}
}
结果枪在靶附近的方形区域内都能打出洞来,hitTest的参数太多,我会的却不多,我看不懂,还得求大师高手们帮忙啊!先谢谢啦!

你做的有问题,元件是圆,为什么实际是个方形呢。。。。。

如果你只在元件里画了个圆,那么它的鼠标事件的响应区域就是一个圆。如果响应区域不是圆,原因可能有两点。

1,你是使用hitTest来做鼠标响应,那么需要把hitTest的最后一个参数设为true(即根据元件的实际绘图区域判断)

2,你的元件里边还可能画了一个透明的方形

-----------------------------------------------
onClipEvent(mouseUp) {
if (_root.b.hitTest(_root._xmouse,_root._ymouse,true)) {
this._parent.c.play();
this._parent.c._x = _root._xmouse;
this._parent.c._y = _root._ymouse;
}
}

试试

方法一:把它放入按钮中。
方法二:用hitTest();作检测;