问题标签 [easeljs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4570 浏览

javascript - CreateJS / EaselJS 具有特定尺寸形状的奇怪性能

我目前正在开发一个游戏,它使用一个大的平铺地图,可以拖动,并随着你的角色快速移动。

我已经创建了问题 JSFiddle 示例的简单版本

每个图块都是一个Shape并被缓存。所有形状都放在一个容器内,容器根据相机位置移动。

我注意到某些缩放级别下 fps 的奇怪下降。缩放只是调整形状的大小。

如果你调整变焦,你会明白我的意思。

铬合金

缩放 1 = 良好的 fps
缩放 3 = 糟糕的 fps
缩放 5 = 良好的 fps

这个帧率问题的原因是什么?

请注意,我也在 createjs 社区论坛上发布了这个。
社区问题

这是 jsfiddle 示例中的代码

HTML

JS

0 投票
2 回答
951 浏览

html - 在循环画架中访问画布

我正在使用easeljs 进行HTML5 编程。在我的示例中,我有 3 个画布(can1、can2、can3 是这三个画布的舞台,并且必须使用循环在该画布中加载图像

例如:

“可以”+j 不工作。它显示 j.addChild 不是函数错误。如何访问这个?

谢谢,
沙迪亚

0 投票
1 回答
1263 浏览

html5-canvas - 画架JS IE9位图未加载

我在使用 EaselJS 在 IE9 中渲染位图时遇到问题。每个其他浏览器都可以很好地呈现图像,但 IE9 画布是空白的。我什至尝试将图像预加载到隐藏的 div 中,但它仍然不起作用。这是我的代码,请帮助!

0 投票
5 回答
20748 浏览

canvas - 如何在easeljs中更改位图宽度和高度?

我正在使用 easeljs 创建 HTML5 页面。我必须在画布中加载图像。如何更改我正在加载的位图的宽度和高度。

它只是在画布中显示图像,我尝试使用

但它裁剪图像(280 * 150)。

谢谢, 沙迪亚

0 投票
3 回答
5089 浏览

html5-canvas - EaselJS:更改形状对象尺寸

总菜鸟问题。我一直在滥用谷歌,出于某种原因,令人惊讶的是找不到任何关于这...?我觉得我在这里遗漏了一些东西。:P

我目前有一个 resize() 函数,可以将画布尺寸修改为窗口的大小。在一个最小的示例(也使用 jQuery)中,我有一个引用我的 Shape 对象的变量。根据文件,形状对象不包括宽度和高度属性。调整形状对象大小的最有效方法是什么?动态删除/重绘?

这就是我所拥有的:

0 投票
2 回答
19194 浏览

animation - 如何设置 EaselJS 图形和形状的 z-index

我在画布上有 EaselJS 形状,然后我开始在每个刻度上绘制图形。目前,图形正在形状上绘制。有没有办法定义 z-index 以便在每一帧的图形上绘制形状?

任何帮助将非常感激。

0 投票
2 回答
316 浏览

animation - 使用 create.js 制作动画而不更新整个画布

我希望有一个人可以帮助我。我将 ZigFu 和 Kinect 与 html5 一起使用,一切正常,但后来我想将 gif 图像放在画布上,发现它们不起作用。所以为了解决这个问题,我创建了一个我的 gif 精灵表并将其放在画布上。

我的问题是,当使用 easeljs 更新 bmp 动画时,它会更新整个画布并清除我想要保留的原始背景。

任何人都可以提供另一种方法来实现这一点吗?我可以在不必更新整个屏幕的情况下为图像设置动画吗?

非常感谢您的回答,我已经有一段时间了,尝试了很多不同的东西,但就是无法理解它。

0 投票
1 回答
673 浏览

box2d - 通过窗口调整大小改变世界边界

我是 Box2D 的新手,正在使用 EaselJS 和 Box2DWeb 进行第一个项目。我希望拥有标准的静态形状,包括世界的墙壁和地板,以便在调整大小时与浏览器窗口一起移动/更新。我正在使用 SetPosition 来完成它,每次执行 Easel 的 tick 方法都会调用它——它几乎可以工作了。当浏览器变大时,一切都按预期工作 - 地板降低,动态对象相应下降。

然而,当浏览器变小时,场景中的物体似乎经常会穿过静态地板体并消失。似乎只有在调整大小足以导致相关动态主体短暂下降到窗口视图之外(例如,在降低高度时完全低于浏览器窗格)时才会发生。但是,如果我相当缓慢地调整浏览器的大小......奇怪的是它可以工作。

我想不出任何好的解决方案来解决我的问题,而且我没有任何运气在网络上找到该行为的示例。可以做到吗?非常感谢任何帮助。

李:

绝对 - 非常感谢您的回复。这是一个backbone.js 项目。这个例子可以在这里看到:

http://kensonger.com/b2dweb/

基本的窗口调整大小监听器位于文件底部:

/b2dweb/js/routers/Main.js

...它引用了 app.box2d。这是这里的主干视图:

/b2dweb/js/views/Box2DView.js

'onStageResize' 方法是定位世界边界。此类底部的更新方法通过 /b2dweb/js/routers/Main.js 中的 tick 方法调用 45/sec。

整个工作的一个拉链被压缩在这里:

http://kensonger.com/b2dweb/box2d_experiment.zip

如果您快速向上调整浏览器窗格的大小,然后再快速向下调整,您可以看到 box2d/画架对象穿过地板。如果您不向下调整大小,则对象只会掉下来并消失。但是,如果您这样做,地板会再次穿过并接住掉落的物体。

再次感谢一百万的任何见解 - 非常感谢。

0 投票
1 回答
2863 浏览

javascript - easeljs - 容器 mouseEnabled 不起作用

调用时我在获取容器时遇到问题getObjectsUnderPoint。根据文档easeljs,当mouseEnabled属性设置为true容器时,调用getObjectsUnderPoint它时应该返回容器对象而不是其子对象。

在示例代码中,我有两个容器,每个容器都有两个孩子(形状和图像)。它的拖放示例。在 mouseup 事件中,我正在检查两个容器是否重叠。但是当我打电话时stage.getObjectsUnderPoint,它返回的数组是[Shape, Image, Shape, Image]. 我所期待的是两个容器。

我可能缺少设置舞台的其他一些属性或其他东西。

试图通过网络找到,没有运气。

任何帮助,将不胜感激。谢谢

0 投票
1 回答
2331 浏览

canvas - 如何减少 EaselJS 动画中矩形的宽度

我想减少动画中每个刻度的矩形宽度。

在 init() 方法中,我最初使用以下命令创建矩形:

如何在 tick() 中访问矩形的宽度?