Добрый день.
Объясните почему при вызове функции из разных мест, функция то работает, то "is not a function".
Код :
var HimLayer = cc.Layer.extend({
sprite:null,
loc:'TROLOLO',
ctor:function () {
this._super();
this.init();
return true;
},
init:function (){
this.sprite = new cc.Sprite(res.himka_png);
this.sprite.setPosition(this.sprite.getContentSize().width / 2, cc.winSize.height / 2);
this.addChild(this.sprite, 0);
cc.eventManager.addListener({
event: cc.EventListener.MOUSE,
onMouseUp: this.onMouseUp
}, this)
this.locationTapped(this.loc); // тут работает
},
onMouseUp:function(event){
var location = event.getLocation();
this.locationTapped(location); // тут не работает
},
locationTapped:function(location) {
console.debug(location);
}
});
вывод в консоль
"TROLOLO" app.js:28
TypeError: this.locationTapped is not a function app.js:24
Почему при вызове из init всё работает, а при вызове из onMouseUP нет ?
Как это сделать правильно, учитывая что мне он нужен из onMouseUP, а из init был добавлен просто для теста.
Спасибо.