EaselJS StageGL:文本不起作用(但使用舞台画布)

Posted

技术标签:

【中文标题】EaselJS StageGL:文本不起作用(但使用舞台画布)【英文标题】:EaselJS StageGL: text not working (but does using Stage canvas) 【发布时间】:2018-07-12 18:38:19 【问题描述】:

我重新编写了一个 html5 游戏(使用 createJS)以匹配 StageGL,但结果所有文本字段都消失了。切换回 Stage 解决了这个特定问题(参见下面的代码示例)。 有人知道解决方法吗?

示例代码:

  canvas.width = stageWidth;
  canvas.height = stageHeight;

  stage = new createjs.StageGL(canvas); // <= text does not work with GL???
  stage = new createjs.Stage(canvas); // <= text works fine

  var textTest = new createjs.Text("Hello World");
  textTest.x = 10;
  textTest.y = 20;

  stage.addChild(textTest);

提前感谢您的 cmets!

【问题讨论】:

【参考方案1】:

如果没有缓存,文本将无法工作,因为 StageGL 不支持文本/矢量画布 API。

缓存非常简单:

var bounds = text.getBounds();
text.cache(bounds.x, bounds.y, bounds.width, bounds.height);

当文本发生变化时,您需要重新缓存文本。

干杯,

【讨论】:

很高兴听到。随意接受答案,以便其他人知道问题已解决。

以上是关于EaselJS StageGL:文本不起作用(但使用舞台画布)的主要内容,如果未能解决你的问题,请参考以下文章

EaselJS 拖放:获取抓取位置

画布动画作为 div 背景 - EaselJS

如何移动线形对象

触摸文本字段不起作用

设置文本重心垂直在android编辑文本中不起作用

Android默认文本选择器复制文本不起作用