AS3:奇怪的getBounds()结果

时间:2012-08-23 10:02:50

标签: actionscript-3 get movieclip bounds

EDIT2:似乎大数字是因为影片剪辑没有任何bipmapdata而创建的,但我还不确定,但我真正的错误是我忘记了“这个”前面的一个“getBounds”......项目规模很大,我找不到bug =)

编辑:尝试使用单独的容器,为影片剪辑,并在根类中做了所有这一切......一切正常,当我使用单独的容器并将所有内容附加到charakter类时它再次搞砸了

OLD: 嘿,我现在正在制作一个游戏,我想要获得charakter身体的界限。 为了理解我是如何设置整个事情,我解释了hirarchy。

我的flash文档的类是“game.as”。 “game.as”增加了Charakter班的孩子 我的Charakterclass为每个身体部位都有一个Movieclip,例如“head” 每个bodypart都有一个movieclip,其中包含bodypart的图片,在本例中为“head”。

当我现在尝试在“head”类中使用getBounds(head.mc)时,我得到了非常奇怪的结果。 ussualy x = 64001,y = 64001,width = 0,height = 0;

我找到了一种方法如何通过简单地使用不在头部内部的getBounds(head.mc)函数来解决这个问题,但是在Charakter类中...但这不是我真正想做的事情,我会喜欢在head类中使用getBounds(head.mc)函数。

为什么结果如此奇怪或我必须做什么的任何想法?我非常感谢每一个意见,因为这对我来说似乎不合逻辑xD

2 个答案:

答案 0 :(得分:3)

getBounds()不准确。请阅读以下帖子以了解问题。

getBounds“错误”结果Source

  

当相对于它的OWN坐标系获取对象的边界时,   这些值不会缩放。

getBounds()返回不正确的高度Source

答案 1 :(得分:2)

从head_mc内部,尝试getBounds(this.parent);(你可能想测试父母是否先存在) - 这应该给你head_mc的边界,因为它的容器看到了它,我认为这就是你想要的,但是在你请求时从head_mc内部调用。

bitmapdata是正确的,但是 - getBounds()有时会给出一些奇怪的结果。在我看来你可能会在将head_mc添加到舞台之前问这个问题,因此得到宽度/高度/ x / y的未定义值。