如何在 EaselJS 中查找 DisplayObject 的宽度和高度

Posted

技术标签:

【中文标题】如何在 EaselJS 中查找 DisplayObject 的宽度和高度【英文标题】:How to find the width and height of a DisplayObject in EaselJS 【发布时间】:2012-04-30 20:33:22 【问题描述】:
var tf = new Text(letter, font, color);
var tfContainer = new Container();
tfContainer.addChild(tf);

我怎样才能知道“tfContainer”的尺寸是多少?

我知道我可以使用 tf.getMeasuredWidth() 和 tf.getMeasuredLineHeight() 但我宁愿使用更通用的方法。除此之外不会返回准确的测量值。

【问题讨论】:

【参考方案1】:

@Akonsu 是正确的,不支持宽度和高度,主要是因为计算它非常昂贵,尤其是在对子元素进行转换的向量和组中。我们正在考虑,但还没有具体的计划。

-兰尼 (gskinner.com)

【讨论】:

;( 我想为 EaselJS 中的所有 DisplayObject 提供 getWidth() 和 getHeight() 函数,以便您可以这样做:stage = new Stage(canvas); alert(stage.getWidth() ); - 将来会起作用吗? 对于舞台宽度和高度,您可以使用:@stage.canvas.width@stage.canvas.height 其中@stage 令人惊讶的是您是Stage 实例。注意这里是画布分辨率,实际大小由css定义,默认为分辨率。【参考方案2】:

easel.js 中没有这样的功能。我在某处读到他们计划添加它,但据我所知还没有。

【讨论】:

【参考方案3】:

是的,必须为 DisplayObject 添加宽度和高度。可能有方法calculateSize(),只有当你尝试获取大小时,才会调用,如果大小无效并且需要重新计算。

【讨论】:

以上是关于如何在 EaselJS 中查找 DisplayObject 的宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章

如何缓存图像并稍后在 EaselJS 中使用?

在 EaselJS 中缓存 SpriteSheets

如何彻底处置 EaselJS 画布?

如何在 EaselJS / CreateJS 中实例化大型 MovieClip 而不会降低帧速率

EaselJS:从库中实例化对象后如何访问子项

画布高度由 EaselJS 更改。如何避免这种情况?