управление
This commit is contained in:
@@ -8,8 +8,9 @@
|
|||||||
<body>
|
<body>
|
||||||
<script src="игра/001.мир.js"></script>
|
<script src="игра/001.мир.js"></script>
|
||||||
<script src="игра/011.phaser.js"></script>
|
<script src="игра/011.phaser.js"></script>
|
||||||
<script src="игра/100.колобок.js"></script>
|
<script src="игра/109.управление.js"></script>
|
||||||
<script src="игра/101.изба.js"></script>
|
<script src="игра/110.колобок.js"></script>
|
||||||
|
<script src="игра/111.изба.js"></script>
|
||||||
<script src="игра/499.пуск.js"></script>
|
<script src="игра/499.пуск.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
105
игра/109.управление.js
Normal file
105
игра/109.управление.js
Normal file
@@ -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 (
|
||||||
|
(мир.управление && мир.мышь.нажата) &&
|
||||||
|
(
|
||||||
|
(мир.управление.направление != новое.направление) ||
|
||||||
|
(мир.управление.прыжок != новое.прыжок)
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
мир.управление = новое;
|
||||||
|
мир.уведомить("изменили управление");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* Последовательность
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
мир.разобрать(`
|
||||||
|
создать сцену
|
||||||
|
настроить мышь
|
||||||
|
обновить сцену
|
||||||
|
уведомить о мыши
|
||||||
|
изменили мышь
|
||||||
|
уведомить об управлении
|
||||||
|
`);
|
||||||
|
|
||||||
@@ -39,6 +39,35 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ПереместитьКолобка = мир =>
|
||||||
|
{
|
||||||
|
if (!мир.управление)
|
||||||
|
{
|
||||||
|
мир.колобок.setVelocityX(0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var x = 0;
|
||||||
|
if (мир.управление.направление == -1)
|
||||||
|
{
|
||||||
|
x = -200;
|
||||||
|
}
|
||||||
|
else if (мир.управление.направление == 1)
|
||||||
|
{
|
||||||
|
x = 200;
|
||||||
|
}
|
||||||
|
мир.колобок.setVelocityX(x);
|
||||||
|
|
||||||
|
if (мир.управление.прыжок && мир.колобок.body.touching.down)
|
||||||
|
{
|
||||||
|
мир.колобок.setVelocityY(-500);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Последовательность
|
* Последовательность
|
||||||
@@ -53,5 +82,7 @@
|
|||||||
создать полы
|
создать полы
|
||||||
создать колобка
|
создать колобка
|
||||||
создать столкновение колобка с полами
|
создать столкновение колобка с полами
|
||||||
|
изменили управление
|
||||||
|
переместить колобка
|
||||||
`);
|
`);
|
||||||
|
|
||||||
Reference in New Issue
Block a user