微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Phaser 3 - 如何从箭头函数事件中引用对象本身?

如何解决Phaser 3 - 如何从箭头函数事件中引用对象本身?

我有一个场景,我动态地创建 5 个按钮并为其加载自定义属性(mydata):

create() {
    for (var a=1; a<=5; a++) {
        this.mybutton = this.add.image(a*50,10,'').setInteractive();
        this.mybutton.mydata = a;
        this.mybutton.on('pointerup',(e) => {
           // how to return mydata property value??
        });
    }
}

我在网上发现 e.targete.currentTarget 可以提供帮助,但在这种情况下都返回 undefined。

无论如何,知道箭头函数this移动到父作用域,还有办法在事件中引用对象本身并检索其属性吗?

PS:我知道使用常规函数可以达到预期的结果,但我现在正在研究箭头函数,所以我有点“喜欢它”,然后我想知道是否有以这种特殊方式扭转局面。

谢谢!

编辑 - 我结束了解决方案:

create() {
    for (let a=1; a<=5; a++) {
        const mybutton = this.add.image(a*50,'').setInteractive();
        mybutton.mydata = a;
        mybutton.on('pointerup',(e) => {
           console.log (mybutton); // returns the object
           console.log (mybutton.mydata); // returns the property
        });
    }
}

解决方法

对我来说当前目标工作正常

$('#test').on("pointerup",(e) =>
{
    console.log(e.currentTarget);
});

https://jsfiddle.net/afnoLtb2/1/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。