Browse Source

сигнал приземления стрелы на лук

master
parent
commit
7eb5195fb3
1 changed files with 42 additions and 11 deletions
  1. +42
    -11
      800.пример.json.js

+ 42
- 11
800.пример.json.js View File

@@ -318,10 +318,14 @@
},
},
столкновения: {
стрела: {
стрелаНачало: {
объекты: ["кирпич", "сенсор"],
событие: "сенсор стрелы",
},
стрелаКонец: {
объекты: ["стрела", "лук"],
событие: "стрела и лук",
},
},
маскиПрыжков: {
стрела: {
@@ -337,7 +341,8 @@ function ПодкидываниеСтрелы() {
this.времяСтрелы = null;
this.времяПриземления = null;
this.подкинули = false;
this.закинули = null;
this.закинули = false;
this.завершить = null;

мир.события.подписать(this);
};
@@ -353,12 +358,21 @@ function ПодкидываниеСтрелы() {
this.времяПриземления = мир.физика.движок.timing.timestamp;
this.подкинуть();
}
else if (событие = "игрок начал прыжок")
else if (событие == "игрок начал прыжок")
{
this.времяСтрелы = null;
this.времяПриземления = null;
this.подкинули = false;
}
else if (
(событие == "стрела и лук") &&
this.закинули &&
this.завершить
) {
мир.события.уведомить("закинули стрелу");
мир.события.отписать(this);
this.завершить();
}
};

this.подкинуть = function() {
@@ -378,13 +392,9 @@ function ПодкидываниеСтрелы() {
{ x: 0, y: -мир.игрок.приземление.скорость * 1.2 }
);

// Уведомить о достижении нужной скорости.
if (
(мир.игрок.приземление.скорость > 16) &&
this.закинули
) {
мир.события.отписать(this);
this.закинули();
if (мир.игрок.приземление.скорость > 16)
{
this.закинули = true;
}
};

@@ -393,6 +403,27 @@ function ПодкидываниеСтрелы() {
}

мир.подкидываниеСтрелы = new ПодкидываниеСтрелы();
мир.подкидываниеСтрелы.закинули = function() {
мир.подкидываниеСтрелы.завершить = function() {
мир.подкидываниеСтрелы = null;
};


// // // //
// Отладка событий
// // // //


function ОтладкаСобытий() {
this.обработатьСобытие = function(событие) {
if (событие == "закинули стрелу")
{
console.debug("событие", событие);
}
};

// Конструктор.
мир.события.подписать(this);
}

мир.отладкаСобытий = new ОтладкаСобытий();


Loading…
Cancel
Save