части все
This commit is contained in:
@@ -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();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 куча = мир.узелСцены("кучаСтрел");
|
||||||
var куча = мир.пфСтрел.create(1270, 405, "основа").setOrigin(0, 0);
|
|
||||||
куча.setScale(25, 2).refreshBody();
|
|
||||||
куча.body.checkCollision.down = false;
|
куча.body.checkCollision.down = false;
|
||||||
куча.setVisible(false);
|
var лук = мир.узелСцены("лук");
|
||||||
|
лук.body.checkCollision.down = false;
|
||||||
мир.пфЛук = мир.пфСтрел.create(1280, 200, "основа").setOrigin(0, 0);
|
var пуск = мир.узелСцены("пускСтрелы");
|
||||||
мир.пфЛук.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);
|
|
||||||
|
|
||||||
// Определение прыжка по стрелам.
|
// Определение прыжка по стрелам.
|
||||||
мир.сцена.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(мир.стрела, мир.пфЛук);
|
var лук = мир.узелСцены("лук");
|
||||||
стЛук.collideCallback = function заряд(a, b) {
|
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);
|
|||||||
позволить платформам пропускать прыжки
|
позволить платформам пропускать прыжки
|
||||||
настроить пауков
|
настроить пауков
|
||||||
настроить мышей
|
настроить мышей
|
||||||
создать стрелы
|
настроить стрелы
|
||||||
создать стрелу
|
создать стрелу
|
||||||
обновить сцену
|
обновить сцену
|
||||||
анимировать пауков
|
анимировать пауков
|
||||||
|
|||||||
Reference in New Issue
Block a user