CreateJS:无法使tweening工作

CreateJS: Unable to get tweening to work

本文关键字:tweening 工作 CreateJS      更新时间:2023-09-26

因此,

我刚开始学习CreateJS,就遇到了我的第一个问题:我无法让推特工作(正如我所期望的那样)。

以下是示例:http://www.hakoniemi.net/labs/createjs-test/

我想让云从右向左移动——此时它只会跳到目标。

代码看起来:

 createjs.Tween.get(stack["cloud"]).to({"x":25}, 1000).call(test);

其中CCD_ 1是有效的并且执行函数CCD_。然而,1000毫秒的视觉效果根本没有发生。

我看了教程,这就是事情应该如何运作的,但事实并非如此。我做错了什么?

编辑:如果我在控制台中重新执行具有不同值的代码,则tweening和视觉效果正常发生(以下是使用setTimeout的版本:http://www.hakoniemi.net/labs/createjs-test/index2.html)

在中设置初始x值时出现类型问题

if (this.getAttribute("x")) {
  ref.x = this.getAttribute("x");
}

问题是getAttribute()返回一个字符串,您可以验证该字符串是否输出Object.prototype.toString.call(ref.x)。这样一来,这名青少年第一次尝试跑步时,似乎无法进行正确的数学运算。最后,它正确地将值更新为数字形式的结束值,这就是为什么接下来对同一方法的调用可以正常工作的原因。

只要确保ref.x.是一个数字,就可以解决这个问题。例如:

if (this.getAttribute("x")) {
  ref.x = parseInt(this.getAttribute("x"));
}

你可以看到它在这把小提琴里演奏。

最后一件事,BitmapImageLoaded是在加载资产后立即将其添加到后台。如果你的云图像在背景之前加载,它将被放置在它下面,你将无法看到它们。(以防万一:)