Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88737

范例集合里面的关于ToggleParticle的一个问题。

$
0
0

@704436993 写道:

这个ToggleParticle中ParticleControl的js有个小错误。在用空格触发的监听事件中,target 应该是 self.node, 范例里面是self.
除此之外我有一个问题。

这是范例里面的玩家输入事件监听(改成了鼠标mousedown触发):
setInputControl: function () {
var self = this;
cc.eventManager.addListener({
event: cc.EventListener.MOUSE,
onMouseDown: function(event) {
if (event === mousedown) {
self.toggleParticlePlay();
}
},

    }, self.node);  
},

然后我用了另外一种常用的监听
setInputControl: function() {
var self = this;
this.node.on('mousedown', function(){
this.toggleParticlePlay()
},this);
},

我发现在玩家输入事件监听中,如果在mousedown回调函数中还是用this而不是self,那么this就是全局作用域,而self是ParticleControl的节点作用域。这个没有什么问题。

但是如果用第二种常用的监听, 那么self 和 this在mousedown回调函数中都还是指向ParticleControl本身。也就是说var self = this;这句话就没有作用了。请问这是为什么啊?

帖子: 3

参与者: 1

阅读整个主题


Viewing all articles
Browse latest Browse all 88737

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>