зарядка

This commit is contained in:
2021-04-30 15:11:11 +03:00
parent 14d641be33
commit 98993eddc3
6 changed files with 43 additions and 7 deletions

View File

@@ -2,7 +2,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>К 0.5.0</title>
<title>К 0.6.0</title>
<script src="https://cdn.jsdelivr.net/npm/phaser@3.54.0/dist/phaser.min.js"></script>
<style>
html, body {

View File

@@ -13,7 +13,6 @@
мир.каркас = мир.сцена.physics.add.staticGroup();
мир.платформы = мир.сцена.physics.add.staticGroup();
мир.вещи = мир.сцена.add.group();
мир.духи = мир.сцена.add.group();
мир.враги = мир.сцена.physics.add.group({ allowGravity: false });
};
@@ -25,8 +24,6 @@
{
мир.сцена.physics.add.collider(мир.вещи, мир.каркас);
мир.сцена.physics.add.collider(мир.вещи, мир.платформы);
мир.сцена.physics.add.collider(мир.духи, мир.каркас);
мир.сцена.physics.add.collider(мир.духи, мир.платформы);
};

View File

@@ -341,8 +341,8 @@
колобок закончил прыжок
вывести окончание прыжка в консоль
начали мигать колобка
# отключить столкновение с платформами и вещами
# уменьшить прыгучесть колобка
отключить столкновение с платформами и вещами
уменьшить прыгучесть колобка
закончили мигать колобка
включить столкновение с платформами и вещами
восстановить прыгучесть колобка

View File

@@ -8,6 +8,7 @@
ЗагрузитьРесурсыИзбы = мир =>
{
мир.сцена.load.audio("звук-избы", "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3");
мир.сцена.load.audio("звук-зарядки", "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav");
мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg");
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png");
@@ -312,11 +313,14 @@
СоздатьСтрелы = мир =>
{
мир.стрелаЗаряжена = false;
// Кучка стрел.
var группаСтрел = мир.сцена.physics.add.staticGroup();
var стрелы = группаСтрел.create(1270, 405, "основа").setOrigin(0, 0);
стрелы.setScale(25, 2).refreshBody();
стрелы.body.checkCollision.down = false;
стрелы.setVisible(false);
var столкновение = мир.сцена.physics.add.collider(мир.колобок, стрелы);
столкновение.collideCallback = function(a, b) {
мир.состояниеКолобка.прыжокПоСтрелам = true;
@@ -326,7 +330,26 @@
мир.стрелаКЛуку = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0);
мир.стрелаКЛуку.setScale(0.5, 0.5).refreshBody();
мир.стрелаКЛуку.depth = 15;
мир.духи.add(мир.стрелаКЛуку);
// Учитываем платформы.
мир.сцена.physics.add.collider(мир.стрелаКЛуку, мир.каркас);
мир.сцена.physics.add.collider(мир.стрелаКЛуку, мир.платформы);
// Платформа для стрелы у лука, чтобы стрела оставалась в луке.
var платформы = мир.сцена.physics.add.staticGroup();
var платформаЛука = платформы.create(1280, 200, "основа").setOrigin(0, 0);
платформаЛука.body.checkCollision.down = false;
var столкновениеЛука = мир.сцена.physics.add.collider(мир.стрелаКЛуку, платформаЛука);
платформаЛука.setVisible(false);
// Определение заряда стрелы.
столкновениеЛука.collideCallback = function заряд(a, b) {
if (мир.стрелаКЛуку.body.touching.down && !мир.стрелаЗаряжена)
{
мир.стрелаЗаряжена = true;
мир.уведомить("стрела заряжена");
}
}
};
@@ -357,11 +380,24 @@
ПодкидыватьСтрелуКЛуку = мир =>
{
if (!мир.стрелаКЛуку.body.touching.down || мир.стрелаЗаряжена)
{
return;
}
var скорость = мир.состояниеКолобка.скоростьПадения * 0.9;
мир.стрелаКЛуку.setVelocityY(-скорость);
};
// // // //
ВоспроизвестиЗвукЗарядкиСтрелы = мир =>
{
мир.сцена.sound.play("звук-зарядки");
};
/*
*
* Последовательность
@@ -390,5 +426,7 @@
проверить наличие прыжка по стрелам
прыжок по платформе стрел
подкидывать стрелу к луку
стрела заряжена
воспроизвести звук зарядки стрелы
`);

View File

@@ -5,3 +5,4 @@
* https://freesound.org/people/omerbhatti34/sounds/521552/
* https://freesound.org/people/Czarcazas/sounds/330800/
* https://freesound.org/people/Kneeling/sounds/448004/
* https://freesound.org/people/EminYILDIRIM/sounds/543927/