diff --git a/index.html b/index.html index 43754cf..1d2076b 100644 --- a/index.html +++ b/index.html @@ -8,6 +8,7 @@ html, body { margin: 0; padding: 0; + overflow: hidden; } body { diff --git a/игра/109.управление.js b/игра/109.управление.js index 2eafd02..c50f60e 100644 --- a/игра/109.управление.js +++ b/игра/109.управление.js @@ -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 @@ мир.разобрать(` создать сцену - настроить мышь + настроить мышь и клаву обновить сцену + уведомить о клаве уведомить о мыши изменили мышь - уведомить об управлении + уведомить об управлении мышью +изменили клаву + уведомить об управлении клавой `);