我正在尝试在鼠标悬停时旋转MovieCip并使其停止在Flash CC Canvas项目中的mouseout;我尝试了很多东西,似乎没有一个对我有用.... 最初我试图使用setInterval没有成功,不知何故我设法连续旋转它与“厚”事件监听器,但我不能让它停止鼠标输出,我试图删除事件Listener(“滴答”)停止重复旋转代码......我做错了什么? 顺便说一句,我是一名试图学习如何编码的平面设计师,请原谅我对代码逻辑缺乏基本的理解......以及我的英语。提前谢谢!!
var frequency = 1;
stage.enableMouseOver(frequency);
this.adelante.on("mouseover", rotaDerecha.bind(this));
function rotaDerecha() {
this.on("tick", Timer.bind(this));
function Timer() {
this.rueda.rotation += 2;
}
this.adelante.off("mouseout", stoper.bind(this));
function stoper(){
this.off("tick", Timer.bind(this));
}
}
答案 0 :(得分:0)
您需要引用要删除的功能。 Bind创建了一个新功能,我想你打电话给off
on
,你可以这样做:
var frequency = 1;
stage.enableMouseOver(frequency);
this.adelante.on("mouseover", rotaDerecha.bind(this));
function rotaDerecha() {
var timer = (function() {
this.rueda.rotation += 2;
}).bind(this)
this.on("tick", timer);
this.adelante.on("mouseout", function () {
this.off("tick", timer);
}.bind(this));
}
或者可能没有绑定,它会让它更具可读性:
function rotaDerecha() {
var self = this
var timer = function() {
self.rueda.rotation += 2;
}
self.on("tick", timer);
self.adelante.on("mouseout", function () {
self.off("tick", timer);
});
}