你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
cuixueying
赞同来自: lexnewgate
Monica - 知识达人
赞同来自:
popo
class a extends sprite { function test():void { var t:Texture = datas; m_hitAreaSprite.graphics.drawRect(t.offsetX,t.offsetY,t.width, t.height,'#FFFFFF'); m_hitAreaSprite.width = t.width; m_hitAreaSprite.height = t.height; } }
nicepainkiller
要回复问题请先登录
4 个回复
cuixueying
赞同来自: lexnewgate
步骤一:
我们先把2张图片拖拽放到舞台上,并且命名好var = ape1与var = ape2,方便发布后对图片实例的获取
步骤二:
双击其中一个ape,进入到ape内部,然后从左侧的组件面板的Graphics文件夹中拖出来一个Poly(不规则多边形),这个就相当于我们在代码中的Graphics实例。
步骤三:
通过在Poly右侧属性面板中添加更多的points坐标点,来得到一个多边形,并且让多边形通过点与点之间的连线绘制成ape的外边框模样,同时设置ape的renderType为hit。
此步骤在程序中就相当于用Graphcis的实例绘制出了一个ape形状的多边形,并且这个实例的RenderType属性为hit,即可点击区域。
步骤四:
复制ape1的Poly粘贴给ape2,同上
步骤五:
为2个ape添加点击事件(UI组件本身已经自动计算宽高,所以可直接相应鼠标事件),程序中如果用sprite对ape进行添加显示,请务必为sprite设置size或hitArea
【此效果,如果单纯的用sprite去创建,由于image本身包含空白区域,所以鼠标响应的区域是个Rectangle(含透明区),并非单纯的肉眼可视的显示区域,这就会出现明明点击的是ape2,却触发了ap1的点击事件】
Monica - 知识达人
赞同来自:
popo
赞同来自:
nicepainkiller
赞同来自:
.
实现版