Browse Source

части все

master
parent
commit
5b106dd8c7
2 changed files with 65 additions and 28 deletions
  1. +1
    -0
      игра/108.группы.js
  2. +64
    -28
      игра/111.изба.js

+ 1
- 0
игра/108.группы.js View File

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






+ 64
- 28
игра/111.изба.js View File

@@ -354,7 +354,49 @@
скорость: 375, скорость: 375,
}, },



кучаСтрел: {
родитель: мир.стрелы,
тип: "платформа",
x: 1270,
y: 405,
texture: "основа",
originX: 0,
originY: 0,
scaleX: 25,
scaleY: 2,
visible: false,
},
лук: {
родитель: мир.стрелы,
тип: "платформа",
x: 1280,
y: 200,
texture: "основа",
originX: 0,
originY: 0,
visible: false,
},
пускСтрелы: {
родитель: мир.стрелы,
тип: "платформа",
x: 1270,
y: 160,
texture: "основа",
originX: 0,
originY: 0,
visible: false,
},
границаПолётаСтрелы: {
родитель: мир.стрелы,
тип: "платформа",
x: 1830,
y: 200,
texture: "основа",
originX: 0,
originY: 0,
scaleY: 20,
visible: false,
},
}; };
}; };


@@ -480,30 +522,18 @@
// // // // // // // //




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

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

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

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


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


@@ -514,7 +544,6 @@ console.debug("прыжок по стрелам");
{ {
мир.пускСтрелы = true; мир.пускСтрелы = true;
мир.уведомить("пуск стрелы"); мир.уведомить("пуск стрелы");
console.debug("пуск стрелы");
} }
}; };
стПуск.overlapOnly = true; стПуск.overlapOnly = true;
@@ -537,29 +566,27 @@ console.debug("пуск стрелы");
мир.сцена.physics.add.collider(мир.стрела, мир.платформы); мир.сцена.physics.add.collider(мир.стрела, мир.платформы);


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


// Определение столкновения с окном. // Определение столкновения с окном.
var стОкно = мир.сцена.physics.add.collider(мир.стрела, мир.пфОкно);
var граница = мир.узелСцены("границаПолётаСтрелы");
var стОкно = мир.сцена.physics.add.collider(мир.стрела, граница);
стОкно.collideCallback = function(a, b) { стОкно.collideCallback = function(a, b) {
if (мир.стрелаЗаряжена && мир.пускСтрелы) if (мир.стрелаЗаряжена && мир.пускСтрелы)
{ {
мир.стрелаЗаряжена = false; мир.стрелаЗаряжена = false;
мир.пускСтрелы = false; мир.пускСтрелы = false;
мир.уведомить("удар стрелы об окно"); мир.уведомить("удар стрелы об окно");
console.debug("удар стрелы об окно");
} }
}; };

console.debug("стрела.x", мир.стрела.x);
}; };




@@ -622,7 +649,16 @@ console.debug("стрела.x", мир.стрела.x);


ПуститьСтрелу = мир => ПуститьСтрелу = мир =>
{ {
мир.стрела.setVelocityX(1200);
function randInt(min, max)
{
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#getting_a_random_integer_between_two_values
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
var скорость = randInt(1100, 1300);

мир.стрела.setVelocityX(скорость);
}; };




@@ -712,7 +748,7 @@ console.debug("стрела.x", мир.стрела.x);
позволить платформам пропускать прыжки позволить платформам пропускать прыжки
настроить пауков настроить пауков
настроить мышей настроить мышей
создать стрелы
настроить стрелы
создать стрелу создать стрелу
обновить сцену обновить сцену
анимировать пауков анимировать пауков


Loading…
Cancel
Save