сигнал приземления стрелы на лук
This commit is contained in:
@@ -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 ОтладкаСобытий();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user