-пф
This commit is contained in:
@@ -318,37 +318,45 @@
|
||||
СоздатьСтрелы = мир =>
|
||||
{
|
||||
мир.пфСтрел = мир.сцена.physics.add.staticGroup();
|
||||
// Куча стрел.
|
||||
var куча = мир.пфСтрел.create(1270, 405, "основа").setOrigin(0, 0);
|
||||
куча.setScale(25, 2).refreshBody();
|
||||
куча.body.checkCollision.down = 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) {
|
||||
if (мир.колобок.body.touching.down) {
|
||||
мир.состояниеКолобка.прыжокПоСтрелам = true;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
мир.стрелаЗаряжена = 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;
|
||||
мир.уведомить("стрела заряжена");
|
||||
@@ -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 (мир.стрелаЗаряжена && !мир.пускСтрелы)
|
||||
{
|
||||
мир.пускСтрелы = true;
|
||||
мир.уведомить("пуск стрелы");
|
||||
}
|
||||
};
|
||||
стПуска.overlapOnly = true;
|
||||
стПуск.overlapOnly = true;
|
||||
|
||||
// Платформа для стрелы у окна, чтобы стрела не летела дальше.
|
||||
var пфОкна = мир.пфСтрел.create(1830, 200, "основа").setOrigin(0, 0);
|
||||
пфОкна.setScale(1, 20).refreshBody();
|
||||
var стОкна = мир.сцена.physics.add.collider(мир.стрелаЛука, пфОкна);
|
||||
пфОкна.setVisible(false);
|
||||
стОкна.collideCallback = function(a, b) {
|
||||
var стОкно = мир.сцена.physics.add.collider(мир.стрела, окно);
|
||||
стОкно.collideCallback = function(a, b) {
|
||||
if (мир.стрелаЗаряжена && мир.пускСтрелы)
|
||||
{
|
||||
мир.стрелаЗаряжена = false;
|
||||
@@ -411,12 +413,12 @@
|
||||
|
||||
ПодкидыватьСтрелуКЛуку = мир =>
|
||||
{
|
||||
if (!мир.стрелаЛука.body.touching.down || мир.стрелаЗаряжена)
|
||||
if (!мир.стрела.body.touching.down || мир.стрелаЗаряжена)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var скорость = мир.состояниеКолобка.скоростьПадения * 0.9;
|
||||
мир.стрелаЛука.setVelocityY(-скорость);
|
||||
мир.стрела.setVelocityY(-скорость);
|
||||
};
|
||||
|
||||
|
||||
@@ -443,7 +445,7 @@
|
||||
|
||||
ПуститьСтрелу = мир =>
|
||||
{
|
||||
мир.стрелаЛука.setVelocityX(1200);
|
||||
мир.стрела.setVelocityX(1200);
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user