Phaser 的范围问题 - 使用声音
2016-04-25
67
在函数内部工作时,我无法停留在范围内。引用正确范围以访问 soundManager 的最佳方法是什么?
未捕获的 TypeError:无法设置未定义的属性“game”
在此行
console.log('SCOPE: ' + MyGame.Game.sound.mute);
$(".audiotoggle").click(function() {
if (MyApp1.gameMuted === false) {
MyApp1.gameMuted = true; //(angular vars)
console.log('MUTE: TRUE (audiotoggle * TRIGGER)');
audtioToggleFunc();
} else {
MyApp1.gameMuted = false; //(angular vars)
console.log('MUTE: FALSE (audiotoggle * TRIGGER)');
audtioToggleFunc();
}
});
var audtioToggleFunc = function () {
console.log('SCOPE: ' + MyGame.Game.sound.mute);
console.log('AUDIO TOGGLE');
if (MyApp1.gameMuted === true) {
MyGame.Game.sound.mute = false;
console.log('MUTE: FALSE (audiotoggle * Function)');
} else {
MyGame.Game.sound.mute = true;
console.log('MUTE: TRUE (audiotoggle * Function)');
}
};
audtioToggleFunc();
1个回答
我认为这更像是一个 jquery 问题。您应该使用:
$(".audiotoggle").click(
$.proxy(function () {
//your listener code
}, this)
);
Hamdi Douss
2016-06-01