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

This commit is contained in:
2021-04-17 15:43:50 +03:00
parent f52a787ef0
commit c504f9fe3a
2 changed files with 76 additions and 4 deletions

View File

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

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 @@
мир.разобрать(`
создать сцену
настроить мышь
настроить мышь и клаву
обновить сцену
уведомить о клаве
уведомить о мыши
изменили мышь
уведомить об управлении
уведомить об управлении мышью
изменили клаву
уведомить об управлении клавой
`);