|
|
@@ -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 ОтладкаСобытий(); |
|
|
|
|