Browse Source

K 0.4.0

master
parent
commit
89246a354e
16 changed files with 253 additions and 27 deletions
  1. +1
    -1
      К/index.html
  2. +3
    -3
      К/игра/108.группы.js
  3. +114
    -11
      К/игра/110.колобок.js
  4. +128
    -12
      К/игра/111.изба.js
  5. BIN
      К/ресурсы/животные/мышь.png
  6. BIN
      К/ресурсы/животные/паук.png
  7. BIN
      К/ресурсы/звуки/330800__czarcazas__shattering-glass-small.mp3
  8. BIN
      К/ресурсы/звуки/331381__qubodup__public-domain-jump-sound.wav
  9. BIN
      К/ресурсы/звуки/360432__davethetech__clink-bottle3.wav
  10. BIN
      К/ресурсы/звуки/387922__setuniman__scheming-1o95.mp3
  11. BIN
      К/ресурсы/звуки/437650__dersuperanton__getting-hit-damage-scream.wav
  12. BIN
      К/ресурсы/звуки/448004__kneeling__break-window.mp3
  13. BIN
      К/ресурсы/звуки/521552__omerbhatti34__arrow-impact.mp3
  14. BIN
      К/ресурсы/звуки/555803__ddmyzik__sunset-loop.wav
  15. +7
    -0
      К/ресурсы/звуки/README.md
  16. BIN
      К/ресурсы/отладка/линия_вертикальная.png

+ 1
- 1
К/index.html View File

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


+ 3
- 3
К/игра/108.группы.js View File

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


@@ -24,8 +24,8 @@
{
мир.сцена.physics.add.collider(мир.вещи, мир.каркас);
мир.сцена.physics.add.collider(мир.вещи, мир.платформы);
мир.сцена.physics.add.collider(мир.враги, мир.каркас);
мир.сцена.physics.add.collider(мир.враги, мир.платформы);
//мир.сцена.physics.add.collider(мир.враги, мир.каркас);
//мир.сцена.physics.add.collider(мир.враги, мир.платформы);
};




+ 114
- 11
К/игра/110.колобок.js View File

@@ -15,6 +15,8 @@
frameHeight: 94,
}
);
мир.сцена.load.audio("прыжок", "ресурсы/звуки/331381__qubodup__public-domain-jump-sound.wav");
мир.сцена.load.audio("повреждение", "ресурсы/звуки/437650__dersuperanton__getting-hit-damage-scream.wav");
};


@@ -32,6 +34,13 @@
// Следить за колобком камерой.
const камера = мир.сцена.cameras.main;
камера.startFollow(мир.колобок, false, 0.1, 0.1);

мир.состояниеКолобка = {
мигать: false,
мигание: { },
прыгучесть: -570,
коэффициентПрыгучести: 1,
};
};


@@ -66,7 +75,7 @@
НастроитьСтолкновениеКолобка = мир =>
{
мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
мир.сцена.physics.add.collider(мир.колобок, мир.вещи);
мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи);
мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы);

var столкновениеВраги = мир.сцена.physics.add.collider(мир.колобок, мир.враги);
@@ -103,7 +112,9 @@

if (мир.управление.прыжок && мир.колобок.body.touching.down)
{
мир.колобок.setVelocityY(-570);
var скорость = мир.состояниеКолобка.прыгучесть * мир.состояниеКолобка.коэффициентПрыгучести;
мир.колобок.setVelocityY(скорость);
мир.сцена.sound.play("прыжок");
}
};

@@ -111,7 +122,8 @@
// // // //


АнимироватьКолобка = мир => {
АнимироватьКолобка = мир =>
{
var есть = "";
if (мир.колобок.anims.currentAnim)
{
@@ -139,29 +151,115 @@
// // // //


ОтключитьСтолкновениеСПлатформами = мир => {
ОтключитьСтолкновениеСПлатформамиИВещами = мир =>
{
мир.столкновениеПлатформы.active = false;
мир.столкновениеВещи.active = false;
};


// // // //


ВключитьСтолкновениеСПлатформами = мир => {
ВключитьСтолкновениеСПлатформамиИВещами = мир =>
{
мир.столкновениеПлатформы.active = true;
мир.столкновениеВещи.active = true;
};


// // // //


ОстановитьПередвижениеВещей = мир => {
ОстановитьПередвижениеВещей = мир =>
{
var вещи = мир.вещи.getChildren();
for (var н in вещи)
{
var вещь = вещи[н];
вещь.body.stop();
if (вещь.body.touching.down)
{
вещь.body.stop();
}
}
};


// // // //


НачатьМиганиеКолобка = мир =>
{
var конец = new Date();
конец.setSeconds(конец.getSeconds() + 8);
мир.состояниеКолобка.мигание.окончание = конец;

var звук = мир.сцена.sound.get("повреждение");
if (!звук || !звук.isPlaying)
{
мир.сцена.sound.play("повреждение");
}

if (мир.состояниеКолобка.мигать)
{
return;
}

мир.состояниеКолобка.мигать = true;
мир.состояниеКолобка.мигание = {
шаг: 0.1,
цель: 0,
};

мир.уведомить("начали мигать колобка");
};


// // // //


МигатьКолобка = мир =>
{
if (!мир.состояниеКолобка.мигать)
{
return;
}

var м = мир.состояниеКолобка.мигание;
var сейчас = new Date();

if (м.окончание - сейчас < 0)
{
мир.состояниеКолобка.мигать = false;
мир.колобок.alpha = 1;
мир.уведомить("закончили мигать колобка");
return;
}

var к = (м.цель == 1) ? 1 : -1;
мир.колобок.alpha += к * м.шаг;
if ((мир.колобок.alpha <= 0) || (мир.колобок.alpha >= 1))
{
м.цель = к * -1;
}
};


// // // //


УменьшитьПрыгучестьКолобка = мир =>
{
мир.состояниеКолобка.коэффициентПрыгучести = 0.6;
};


// // // //


ВосстановитьПрыгучестьКолобка = мир =>
{
мир.состояниеКолобка.коэффициентПрыгучести = 1;
};


@@ -179,13 +277,18 @@
создать колобка
создать анимации колобка
настроить столкновение колобка
изменили управление
переместить колобка
столкновение с врагом
отключить столкновение с платформами
начать мигание колобка
обновить сцену
переместить колобка
анимировать колобка
изменили анимацию колобка
мигать колобка
остановить передвижение вещей
начали мигать колобка
отключить столкновение с платформами и вещами
уменьшить прыгучесть колобка
закончили мигать колобка
включить столкновение с платформами и вещами
восстановить прыгучесть колобка
`);


+ 128
- 12
К/игра/111.изба.js View File

@@ -7,9 +7,13 @@

ЗагрузитьРесурсыИзбы = мир =>
{
мир.сцена.load.image("изба", "ресурсы/сцены/изба.jpg");
мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg");
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png");
мир.сцена.load.image("изба", "ресурсы/сцены/изба.jpg");
мир.сцена.load.image("молоко", "ресурсы/вещи/банка_молока.png");
мир.сцена.load.image("паук", "ресурсы/животные/паук.png");
мир.сцена.load.image("мышь", "ресурсы/животные/мышь.png");
мир.сцена.load.audio("звук-избы", "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3");
};


@@ -19,6 +23,7 @@
СоздатьИзбу = мир =>
{
мир.сцена.add.image(0, 0, "изба").setOrigin(0, 0);
мир.сцена.sound.play("звук-избы", { loop: true });
};


@@ -152,22 +157,129 @@
// // // //


СоздатьВрагов = мир => {
var враг = мир.сцена.physics.add.sprite(750, 100, "основа");
враг.setScale(5, 5).refreshBody();
враг.depth = 10;
мир.враги.add(враг);
СоздатьВещи = мир =>
{
var молоко = мир.сцена.physics.add.sprite(830, 430, "молоко");
молоко.setScale(0.5, 0.5).refreshBody();
молоко.depth = 5;
мир.вещи.add(молоко);
};


// // // //


СоздатьВещи = мир => {
var молоко = мир.сцена.physics.add.sprite(750, 400, "молоко");
молоко.setScale(0.5, 0.5).refreshBody();
молоко.depth = 10;
мир.вещи.add(молоко);
СоздатьПауков = мир =>
{
мир.настройкиПауков = [
{
x: 620,
y: 345,
скорость: 50,
},
{
x: 740,
y: 445,
скорость: 65,
},
{
x: 830,
y: 375,
скорость: 80,
},
{
x: 930,
y: 500,
скорость: 70,
},
];
мир.пауки = [];
мир.нитиПауков = [];
for (var номер in мир.настройкиПауков)
{
var настройки = мир.настройкиПауков[номер];
var паук = мир.враги.create(настройки.x, настройки.y, "паук");
паук.body.setVelocityY(настройки.скорость);
паук.depth = 10;
мир.пауки.push(паук);
var нить = мир.сцена.add.image(настройки.x - 1, 245, "линия").setOrigin(0, 0);
нить.depth = паук.depth;
мир.нитиПауков.push(нить);
}
};


// // // //


АнимироватьПауков = мир =>
{
for (var номер in мир.пауки)
{
var паук = мир.пауки[номер];
var нить = мир.нитиПауков[номер];
var скорость = мир.настройкиПауков[номер].скорость;
нить.displayHeight = паук.y - нить.y - 5;
if (паук.y > 550)
{
паук.setVelocityY(-скорость);
} else if (паук.y < 270)
{
паук.setVelocityY(скорость);
}
}
};


// // // //


СоздатьМышей = мир =>
{
мир.настройкиМышей= [
{
x: 350,
y: 575,
скорость: 290,
},
{
x: 740,
y: 575,
скорость: 375,
},
];
мир.мыши = [];
for (var номер in мир.настройкиМышей)
{
var настройки = мир.настройкиМышей[номер];
var мышь = мир.враги.create(настройки.x, настройки.y, "мышь");
мышь.body.setVelocityX(настройки.скорость);
мышь.depth = 10;
мышь.flipX = true;
мир.мыши.push(мышь);
}
};


// // // //


АнимироватьМышей = мир =>
{
for (var номер in мир.мыши)
{
var мышь= мир.мыши[номер];
var скорость = мир.настройкиМышей[номер].скорость;
if (мышь.x > 1950)
{
мышь.setVelocityX(-скорость);
мышь.flipX = false;
} else if (мышь.x < 50)
{
мышь.setVelocityX(скорость);
мышь.flipX = true;
}
}
};


@@ -186,7 +298,11 @@
создать полы и стены каркаса
создать платформы
позволить платформам пропускать прыжки
создать врагов
создать вещи
создать пауков
создать мышей
обновить сцену
анимировать пауков
анимировать мышей
`);


BIN
К/ресурсы/животные/мышь.png View File

Before After
Width: 59  |  Height: 20  |  Size: 3.7KB

BIN
К/ресурсы/животные/паук.png View File

Before After
Width: 44  |  Height: 31  |  Size: 4.6KB

BIN
К/ресурсы/звуки/330800__czarcazas__shattering-glass-small.mp3 View File


BIN
К/ресурсы/звуки/331381__qubodup__public-domain-jump-sound.wav View File


BIN
К/ресурсы/звуки/360432__davethetech__clink-bottle3.wav View File


BIN
К/ресурсы/звуки/387922__setuniman__scheming-1o95.mp3 View File


BIN
К/ресурсы/звуки/437650__dersuperanton__getting-hit-damage-scream.wav View File


BIN
К/ресурсы/звуки/448004__kneeling__break-window.mp3 View File


BIN
К/ресурсы/звуки/521552__omerbhatti34__arrow-impact.mp3 View File


BIN
К/ресурсы/звуки/555803__ddmyzik__sunset-loop.wav View File


+ 7
- 0
К/ресурсы/звуки/README.md View File

@@ -0,0 +1,7 @@
* https://freesound.org/people/DDmyzik/sounds/555803/
* https://freesound.org/people/Setuniman/sounds/387922/
* https://freesound.org/people/qubodup/sounds/331381/
* https://freesound.org/people/davethetech/sounds/360432/
* https://freesound.org/people/omerbhatti34/sounds/521552/
* https://freesound.org/people/Czarcazas/sounds/330800/
* https://freesound.org/people/Kneeling/sounds/448004/

BIN
К/ресурсы/отладка/линия_вертикальная.png View File

Before After
Width: 3  |  Height: 1  |  Size: 573B

Loading…
Cancel
Save