Easeljs getBounds,何时设置尺寸?
Easeljs getBounds, when are dimensions set?
我正在将某人的 createjs 应用程序导入应用程序加载器,该应用程序加载器将每个开发人员应用程序 javascript 导入全局 canvas。该应用程序独立运行,但是当我动态加载 javascript 时,我在 getBounds()
函数周围出现了一些奇怪的行为。
我创建了一些这样的文本:
dialogText = new createjs.Text(text, 'bold ' + (28 * scale) + 'px Calibri', '#FFFFFF');
然后我使用 dialogText.getBounds()
其中 returns null
。
我尝试控制台日志记录 dialogText,我可以看到它已设置并且有一个值 _bounds
,显示为 null
。
当元素绘制到 canvas 时,这些值在什么时候设置?
注意:我已经将文本添加到 createjs.Container()
中,它在 运行 getBounds()
.[ 之前设置了边界=18=]
_bounds
属性 反映了在 DisplayObject 上手动设置的值 - 如果您知道无法计算它的对象(如形状)的边界,这将很有帮助。除非您直接设置它,否则它将始终是 null
。
我测试了你的代码,似乎没问题。您确定 scale
或 text
值不为空吗?也许 hard-code 他们看看它是否有效。
你有样品吗?我在 the GitHub issue you posted 中注意到您提到它在没有 RequireJS 的情况下工作正常(尽管您在这里没有提到)。我绝对会确保正确设置这些值。
这里是fiddle, as well as a simpler one with no EaselJS stage。请注意,我的机器上安装了 Calibri,因此如果您加载它,您可能会得到不同的结果。
示例代码:
var dialogText = new createjs.Text("This is some text", 'bold ' + (28 * 1.5) + 'px Calibrix', '#FFFFFF');
console.log(">>",dialogText.getBounds());
为了快速参考,我粘贴了 EaselJS 关于 getBounds():
的更新
(这可以追溯到 "August 21, 2013",不确定现在是否仍然需要,但是使用 setBounds(x, y, w, h) 实际上今天 [2017 年] 帮助我使用 Shapes!)
我正在将某人的 createjs 应用程序导入应用程序加载器,该应用程序加载器将每个开发人员应用程序 javascript 导入全局 canvas。该应用程序独立运行,但是当我动态加载 javascript 时,我在 getBounds()
函数周围出现了一些奇怪的行为。
我创建了一些这样的文本:
dialogText = new createjs.Text(text, 'bold ' + (28 * scale) + 'px Calibri', '#FFFFFF');
然后我使用 dialogText.getBounds()
其中 returns null
。
我尝试控制台日志记录 dialogText,我可以看到它已设置并且有一个值 _bounds
,显示为 null
。
当元素绘制到 canvas 时,这些值在什么时候设置?
注意:我已经将文本添加到 createjs.Container()
中,它在 运行 getBounds()
.[ 之前设置了边界=18=]
_bounds
属性 反映了在 DisplayObject 上手动设置的值 - 如果您知道无法计算它的对象(如形状)的边界,这将很有帮助。除非您直接设置它,否则它将始终是 null
。
我测试了你的代码,似乎没问题。您确定 scale
或 text
值不为空吗?也许 hard-code 他们看看它是否有效。
你有样品吗?我在 the GitHub issue you posted 中注意到您提到它在没有 RequireJS 的情况下工作正常(尽管您在这里没有提到)。我绝对会确保正确设置这些值。
这里是fiddle, as well as a simpler one with no EaselJS stage。请注意,我的机器上安装了 Calibri,因此如果您加载它,您可能会得到不同的结果。
示例代码:
var dialogText = new createjs.Text("This is some text", 'bold ' + (28 * 1.5) + 'px Calibrix', '#FFFFFF');
console.log(">>",dialogText.getBounds());
为了快速参考,我粘贴了 EaselJS 关于 getBounds():
的更新(这可以追溯到 "August 21, 2013",不确定现在是否仍然需要,但是使用 setBounds(x, y, w, h) 实际上今天 [2017 年] 帮助我使用 Shapes!)