2

EDIT2:似乎是因为movieclip不包含任何bipmapdata而创建了大数字,但我还不确定,但我真正的错误是我只是忘记了一个“getBounds”前面的“this”......项目大小是太大了,我找不到错误 =)

编辑:尝试使用单独的容器,用于电影剪辑,并在根类中完成所有这些......一切正常,当我使用单独的容器并将所有内容附加到 charakter 类时,它又搞砸了

OLD:嘿,我现在正在制作游戏,我想获得角色身体的界限。为了了解我是如何设置整个事情的,我解释了等级制度。

我的 Flash 文档的类是“game.as”。“game.as”添加了 Charakter 类的子项,我的 Charakterclass 对每个身体部位都有一个影片剪辑,例如“头部”每个身体部位都有一个包含身体部位图片的影片剪辑,在本例中为“头部”。

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

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

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

4

2 回答 2

3

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

getBounds“错误”结果来源

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

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

于 2012-08-23T14:13:25.290 回答
2

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

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

于 2012-08-23T14:17:15.297 回答