首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >儿童干预hitTestObject (AS3)

儿童干预hitTestObject (AS3)
EN

Stack Overflow用户
提问于 2013-08-10 00:01:16
回答 1查看 289关注 0票数 0

我正在用as3做一个FlashDevelop游戏。

我有一个按钮类,当玩家与它碰撞时,它会被点击。没问题。命中检测正常,点击有效,这不是问题。我的按钮类的这个特定扩展在它上面有一个标签(特别是一个TextField),包含一个短字符串。

问题是,当我将标签添加为子标签时,它会更改按钮的hitAreaTextField有一个更大的hitArea,我认为它正在覆盖按钮本身的hitArea

我正在寻找的解决方案(任何,不一定是全部):

  1. 一种让hitTestObject忽略按钮子节点的hitArea的方法
  2. 一种没有问题的标签
  3. 一种重新重写按钮的hitArea的方法*。

我已经编程两年了,所以我能很好地理解建议,但我只教了自己不到一个月的as3。

*我知道在某些flash IDE中,更改hitArea是愚蠢的,因为通常有一个很容易实现的窗口。FlashDevelop更注重代码,这意味着所有的MovieClip()Frame恶作剧都被抽象出来了。通过代码更改hitArea的唯一方法是将其分配给Sprite,但这对我来说没有意义,特别是在这种情况下,因为按钮在其基础上扩展了Sprite

各位,提前谢谢。

一张我拼凑在一起的快速截图。谢天谢地,我可以通过TextField.border = true;来显示确切的hitArea

http://i.imgur.com/cd83daV.png

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-10 00:37:47

最简单的方法是在升级过程中创建透明(0% alpha)的sprite,这是命中测试的特定维度。然后,从那里开始,对这个对象进行测试,而不是像这样对父对象进行测试。if(player.hitTestObject(upgrade.hitBox)) {

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18157335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档