Проблема
Я новичок в Phaser. Я начинаю разрабатывать свою первую настоящую игру, и уже столкнулся с серьезным препятствием. В частности, я получаю ошибки, связанные с «этим» везде, куда я обращаюсь.
Мой метод обучения
Прежде чем я попаду в специфику c ошибки, я просто хочу объяснить мой процесс проектирования. В основном, найдите учебник или фрагмент кода, и возьмите его, и попробуйте использовать его в моей игре. Изучая этот путь, я думаю, что сталкиваюсь с проблемами, потому что мой шаблон кодирования не такой, как в учебнике или примере, который я пытаюсь воспроизвести. Некоторые люди используют расширяющие классы Phaser, другие вообще не используют классы - и я думаю, что это может быть root моих проблем.
«Это» - моя боль
Вот несколько конкретных c ошибок кодирования, с которыми я сталкиваюсь в моем проекте:
1. Создание обработчика по нажатию В моей игре мне нужно будет запускать функцию при нажатии на сцену.
// in my create event
this.input.on('pointerdown', function (pointer) {
console.log(pointer);
})
Результаты:
![Input Problem](https://i.stack.imgur.com/RvTMD.png)
2. Изменение курсора Я просто хочу изменить курсор.
// In my create event
this.input.setDefaultCursor('url(assets/cursors/hand.cur), pointer');
Результаты:
![Cursor Problem](https://i.stack.imgur.com/ZtmLO.png)
В этот момент я понимаю, что что-то не так в моем стиле кодирования.
Прежде чем я продвинусь слишком далеко, мне нужно выяснить, что я делаю неправильно.
Исходный код
BasicGame.Game = function (game) {
};
var ourGame;
BasicGame.Game.prototype = {
create: function () {
// Dont work
//var allScenes = this.Scene.scenes;
// Dont work
this.input.setDefaultCursor('url(assets/cursors/hand.cur), pointer');
// Dont work
//this.input.on('pointerdown', function (pointer) {
//console.log(pointer);
// })
//console.log(allScenes);
// This DOES work
this.setupText();
},
update: function () {
},
//---------------------------
// CREATE RELATED FUNCTIONS
//---------------------------
setupText: function () {
this.instructions = this.add.text(
this.game.width / 4,
this.game.height - 100,
'Use Arrow Keys to Move, Press Z to Fire\n' +
'JOHNNY/clicking does both', {
font: '20px monospace',
fill: '#fff',
align: 'center'
}
);
}
//---------------------------
// UPDATE RELATED FUNCTIONS
//---------------------------
};