|
|
@@ -0,0 +1,105 @@ |
|
|
|
/* |
|
|
|
* |
|
|
|
* Реакции |
|
|
|
* |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
НастроитьМышь = мир => |
|
|
|
{ |
|
|
|
мир.сцена.input.mouse.disableContextMenu(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОМыши = мир => |
|
|
|
{ |
|
|
|
var мышь = мир.сцена.input.activePointer; |
|
|
|
const новое = { |
|
|
|
"x": мышь.worldX, |
|
|
|
"y": мышь.worldY, |
|
|
|
"нажата": мышь.isDown, |
|
|
|
}; |
|
|
|
if ( |
|
|
|
мир.мышь && |
|
|
|
мир.мышь.x == новое.x && |
|
|
|
мир.мышь.y == новое.y && |
|
|
|
мир.мышь.нажата == новое.нажата |
|
|
|
) { |
|
|
|
// Ничего не делаем. |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
мир.мышь = новое; |
|
|
|
мир.уведомить("изменили мышь"); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
УведомитьОбУправлении = мир => |
|
|
|
{ |
|
|
|
const камера = мир.сцена.cameras.main; |
|
|
|
const ширина = камера.width; |
|
|
|
const высота = камера.height; |
|
|
|
|
|
|
|
var новое = { |
|
|
|
"направление": 0, // Центр. |
|
|
|
"прыжок": false, |
|
|
|
}; |
|
|
|
новое.прыжок = (мир.мышь.y < высота * 0.45); |
|
|
|
if (мир.мышь.x < ширина * 0.45) |
|
|
|
{ |
|
|
|
новое.направление = -1; // Лево. |
|
|
|
} |
|
|
|
else if (мир.мышь.x > ширина * 0.55) |
|
|
|
{ |
|
|
|
новое.направление = 1; // Право. |
|
|
|
} |
|
|
|
|
|
|
|
// Начало движения. |
|
|
|
if (!мир.управление && мир.мышь.нажата) |
|
|
|
{ |
|
|
|
мир.управление = новое; |
|
|
|
мир.уведомить("изменили управление"); |
|
|
|
} |
|
|
|
// Окончание движения. |
|
|
|
else if (мир.управление && !мир.мышь.нажата) |
|
|
|
{ |
|
|
|
мир.управление = null; |
|
|
|
мир.уведомить("изменили управление"); |
|
|
|
} |
|
|
|
// Продолжение движения. |
|
|
|
else if ( |
|
|
|
(мир.управление && мир.мышь.нажата) && |
|
|
|
( |
|
|
|
(мир.управление.направление != новое.направление) || |
|
|
|
(мир.управление.прыжок != новое.прыжок) |
|
|
|
) |
|
|
|
) { |
|
|
|
мир.управление = новое; |
|
|
|
мир.уведомить("изменили управление"); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
* |
|
|
|
* Последовательность |
|
|
|
* |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
мир.разобрать(` |
|
|
|
создать сцену |
|
|
|
настроить мышь |
|
|
|
обновить сцену |
|
|
|
уведомить о мыши |
|
|
|
изменили мышь |
|
|
|
уведомить об управлении |
|
|
|
`); |
|
|
|
|