Browse Source

-пф

master
parent
commit
42f1b7a818
1 changed files with 32 additions and 30 deletions
  1. +32
    -30
      игра/111.изба.js

+ 32
- 30
игра/111.изба.js View File

@@ -318,37 +318,45 @@
СоздатьСтрелы = мир => СоздатьСтрелы = мир =>
{ {
мир.пфСтрел = мир.сцена.physics.add.staticGroup(); мир.пфСтрел = мир.сцена.physics.add.staticGroup();
// Куча стрел.
var куча = мир.пфСтрел.create(1270, 405, "основа").setOrigin(0, 0); var куча = мир.пфСтрел.create(1270, 405, "основа").setOrigin(0, 0);
куча.setScale(25, 2).refreshBody(); куча.setScale(25, 2).refreshBody();
куча.body.checkCollision.down = false; куча.body.checkCollision.down = false;
куча.setVisible(false); куча.setVisible(false);

var лук = мир.пфСтрел.create(1280, 200, "основа").setOrigin(0, 0);
лук.body.checkCollision.down = false;
лук.setVisible(false);

var пуск = мир.пфСтрел.create(1270, 160, "основа").setOrigin(0, 0);
пуск.setVisible(false);

var окно = мир.пфСтрел.create(1830, 200, "основа").setOrigin(0, 0);
окно.setScale(1, 20).refreshBody();
окно.setVisible(false);

// Определение прыжка по стрелам.
мир.сцена.physics.add.collider(мир.колобок, куча, function(a, b) { мир.сцена.physics.add.collider(мир.колобок, куча, function(a, b) {
if (мир.колобок.body.touching.down) { if (мир.колобок.body.touching.down) {
мир.состояниеКолобка.прыжокПоСтрелам = true; мир.состояниеКолобка.прыжокПоСтрелам = true;
} }
}); });




мир.стрелаЗаряжена = false; мир.стрелаЗаряжена = false;
мир.пускСтрелы = false; мир.пускСтрелы = false;


// Стрела лука.
мир.стрелаЛука = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0);
мир.стрелаЛука.setScale(0.5, 0.5).refreshBody();
мир.стрелаЛука.depth = 5;
// Учитываем платформы.
мир.сцена.physics.add.collider(мир.стрелаЛука, мир.каркас);
мир.сцена.physics.add.collider(мир.стрелаЛука, мир.платформы);
мир.стрела = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0);
мир.стрела.setScale(0.5, 0.5).refreshBody();
мир.стрела.depth = 5;


// Платформа для стрелы лука, чтобы оставаться в луке.
var пфЛука = мир.пфСтрел.create(1280, 200, "основа").setOrigin(0, 0);
пфЛука.body.checkCollision.down = false;
пфЛука.setVisible(false);
var стЛука = мир.сцена.physics.add.collider(мир.стрелаЛука, пфЛука);
мир.сцена.physics.add.collider(мир.стрела, мир.каркас);
мир.сцена.physics.add.collider(мир.стрела, мир.платформы);


// Определение заряда стрелы. // Определение заряда стрелы.
стЛука.collideCallback = function заряд(a, b) {
if (мир.стрелаЛука.body.touching.down && !мир.стрелаЗаряжена)
var стЛук = мир.сцена.physics.add.collider(мир.стрела, лук);
стЛук.collideCallback = function заряд(a, b) {
if (мир.стрела.body.touching.down && !мир.стрелаЗаряжена)
{ {
мир.стрелаЗаряжена = true; мир.стрелаЗаряжена = true;
мир.уведомить("стрела заряжена"); мир.уведомить("стрела заряжена");
@@ -356,24 +364,18 @@
}; };


// Определение пуска стрелы. // Определение пуска стрелы.
var пфПуска = мир.пфСтрел.create(1270, 160, "основа").setOrigin(0, 0);
пфПуска.setVisible(false);
var стПуска = мир.сцена.physics.add.collider(пфПуска, мир.колобок);
стПуска.collideCallback = function(a, b) {
var стПуск = мир.сцена.physics.add.collider(пуск, мир.колобок);
стПуск.collideCallback = function(a, b) {
if (мир.стрелаЗаряжена && !мир.пускСтрелы) if (мир.стрелаЗаряжена && !мир.пускСтрелы)
{ {
мир.пускСтрелы = true; мир.пускСтрелы = true;
мир.уведомить("пуск стрелы"); мир.уведомить("пуск стрелы");
} }
}; };
стПуска.overlapOnly = true;

// Платформа для стрелы у окна, чтобы стрела не летела дальше.
var пфОкна = мир.пфСтрел.create(1830, 200, "основа").setOrigin(0, 0);
пфОкна.setScale(1, 20).refreshBody();
var стОкна = мир.сцена.physics.add.collider(мир.стрелаЛука, пфОкна);
пфОкна.setVisible(false);
стОкна.collideCallback = function(a, b) {
стПуск.overlapOnly = true;

var стОкно = мир.сцена.physics.add.collider(мир.стрела, окно);
стОкно.collideCallback = function(a, b) {
if (мир.стрелаЗаряжена && мир.пускСтрелы) if (мир.стрелаЗаряжена && мир.пускСтрелы)
{ {
мир.стрелаЗаряжена = false; мир.стрелаЗаряжена = false;
@@ -411,12 +413,12 @@


ПодкидыватьСтрелуКЛуку = мир => ПодкидыватьСтрелуКЛуку = мир =>
{ {
if (!мир.стрелаЛука.body.touching.down || мир.стрелаЗаряжена)
if (!мир.стрела.body.touching.down || мир.стрелаЗаряжена)
{ {
return; return;
} }
var скорость = мир.состояниеКолобка.скоростьПадения * 0.9; var скорость = мир.состояниеКолобка.скоростьПадения * 0.9;
мир.стрелаЛука.setVelocityY(-скорость);
мир.стрела.setVelocityY(-скорость);
}; };




@@ -443,7 +445,7 @@


ПуститьСтрелу = мир => ПуститьСтрелу = мир =>
{ {
мир.стрелаЛука.setVelocityX(1200);
мир.стрела.setVelocityX(1200);
}; };






Loading…
Cancel
Save