pc.Application类型错误
// Expose prototype methods and create a default tween manager on the application
(function () {
// Add pc.Application#addTweenManager method
pc.Application.prototype.addTweenManager = function () {
this._tweenManager = new pc.TweenManager(this);
this.on("update", function (dt) {
this._tweenManager.update(dt);
});
};
// Add pc.Application#tween method
pc.Application.prototype.tween = function (target) {
return new pc.Tween(target, this._tweenManager);
};
// Add pc.Entity#tween method
pc.Entity.prototype.tween = function (target, options) {
var tween = this._app.tween(target);
tween.entity = this;
this.once('destroy', tween.stop, tween);
if (options && options.element) {
// specifiy a element property to be updated
tween.element = options.element;
}
return tween;
};
// Create a default tween manager on the application
var application = pc.Application.getApplication();
if (application) {
application.addTweenManager();
}
})();
测试
var application = pc.Application.getApplication();
console.log(application instanceof pc.AppBase)
console.log(application instanceof pc.Application)
输出
true
false
调整代码如下:
// Expose prototype methods and create a default tween manager on the application
(function () {
// Add pc.Application#addTweenManager method
pc.AppBase.prototype.addTweenManager = function () {
this._tweenManager = new pc.TweenManager(this);
this.on("update", function (dt) {
this._tweenManager.update(dt);
});
};
// Add pc.Application#tween method
pc.AppBase.prototype.tween = function (target) {
return new pc.Tween(target, this._tweenManager);
};
// Add pc.Entity#tween method
pc.Entity.prototype.tween = function (target, options) {
var tween = this._app.tween(target);
tween.entity = this;
this.once('destroy', tween.stop, tween);
if (options && options.element) {
// specifiy a element property to be updated
tween.element = options.element;
}
return tween;
};
// Create a default tween manager on the application
var application = pc.Application.getApplication();
if (application) {
application.addTweenManager();
}
})();