我有一个脚本可以在画布上生成 x 数量的蝴蝶,我正在使用一些适度原始的函数构造函数,以便可以修改每只蝴蝶而不影响其他任何蝴蝶,但是在更新其中一个序列时它会更新所有这些并且我看不到为什么。
由于代码量很大(超过 350 行),我创建了一个JS fiddle供查看(可能不赞成)
您可以在此处完整查看所有内容。
但由于我不能只发布 JSFiddle 的链接,这里是序列函数本身的代码。
function Sequence (s, f) {
// Check we have arguments
if (!s || !f) {
throw new TypeError('No sequences to load');
}
// Instance for the onload event
var _sq = this;
// Some public properties
this.w = 0;
this.r = false;
this.st = 0;
this.ns = 22;
// This is the step in the sequence we're at
this.s = 20;
// The step width
this.sw = 0;
// Create the image
this._s = new Image;
this._f = new Image;
// Load listener
this._s.onload = function () {
// Set our publics
_sq.w = this.width;
_sq.sw = _sq.w / fps;
};
this._s.src = s;
this._f.src = f;
// Return
return this;
};
[编辑] 我已经更新了序列类,基本上不关心负载,它无论如何都是使用预取的
<link rel="prefetch" href="image.png" />
我还更新了 JSFiddle,因此您可以看到它正在工作(还有其他几个更新),但是代码有点笨拙,因此我不会深入讨论。