Browse Source

поправить мышь

master
parent
commit
c504f9fe3a
2 changed files with 76 additions and 4 deletions
  1. +1
    -0
      index.html
  2. +75
    -4
      игра/109.управление.js

+ 1
- 0
index.html View File

@@ -8,6 +8,7 @@
html, body {
margin: 0;
padding: 0;
overflow: hidden;
}

body {


+ 75
- 4
игра/109.управление.js View File

@@ -5,9 +5,10 @@
*/


НастроитьМышь = мир =>
НастроитьМышьИКлаву = мир =>
{
мир.сцена.input.mouse.disableContextMenu();
мир.клавиши = мир.сцена.input.keyboard.createCursorKeys();
};


@@ -41,7 +42,74 @@
// // // //


УведомитьОбУправлении = мир =>
УведомитьОКлаве = мир =>
{
var новое = {
"направление": 0,
"прыжок": false,
};
if (мир.клавиши.left.isDown)
{
новое.направление = -1;
}
else if (мир.клавиши.right.isDown)
{
новое.направление = 1;
}
if (мир.клавиши.space.isDown)
{
новое.прыжок = true;
}
if (
мир.клава &&
мир.клава.направление == новое.направление &&
мир.клава.прыжок == новое.прыжок
) {
// Ничего не делаем.
}
else
{
мир.клава = новое;
мир.уведомить("изменили клаву");
}
};

// // // //


УведомитьОбУправленииКлавой = мир =>
{
const естьДвижение = (мир.клава.направление != 0 || мир.клава.прыжок);
// Начало движения.
if (!мир.управление && естьДвижение)
{
мир.управление = мир.клава;
мир.уведомить("изменили управление");
}
// Окончание движения.
else if (мир.управление && !естьДвижение)
{
мир.управление = null;
мир.уведомить("изменили управление");
}
// Продолжение движения.
else if (
(мир.управление && естьДвижение) &&
(
(мир.управление.направление != мир.клава.направление) ||
(мир.управление.прыжок != мир.клава.прыжок)
)
) {
мир.управление = мир.клава;
мир.уведомить("изменили управление");
}
};


// // // //


УведомитьОбУправленииМышью = мир =>
{
const камера = мир.сцена.cameras.main;
const ширина = камера.width;
@@ -95,10 +163,13 @@

мир.разобрать(`
создать сцену
настроить мышь
настроить мышь и клаву
обновить сцену
уведомить о клаве
уведомить о мыши
изменили мышь
уведомить об управлении
уведомить об управлении мышью
изменили клаву
уведомить об управлении клавой
`);


Loading…
Cancel
Save